1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  fifo: add FIFO API test program, and fate test
  fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
  postprocess.c: filter name needs to be double 0 terminated
  doxygen: fix wrong comment syntax, //< vs. ///<
  doxygen: drop pointless star from pointer variable names
  Replace deprecated av_find_stream_info() by avformat_find_stream_info().
  xmv: eliminate superfluous zeroing of zero data
  configure: fix typo in avconv dependency list

Conflicts:
	configure
	doc/APIchanges
	libavutil/Makefile
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-08-26 23:18:54 +02:00
commit 094a496818
22 changed files with 122 additions and 54 deletions

4
configure vendored
View File

@ -1529,8 +1529,8 @@ postproc_deps="gpl"
# programs
ffmpeg_deps="avcodec avformat swscale"
ffmpeg_select="buffer_filter buffersink_filter"
av_deps="avcodec avformat swscale"
av_select="buffer_filter"
avconv_deps="avcodec avformat swscale"
avconv_select="buffer_filter"
ffplay_deps="avcodec avformat swscale sdl"
ffplay_select="buffersink_filter rdft"
ffprobe_deps="avcodec avformat"

View File

@ -2162,7 +2162,7 @@ static int open_input_stream(HTTPContext *c, const char *info)
}
s->flags |= AVFMT_FLAG_GENPTS;
c->fmt_in = s;
if (strcmp(s->iformat->name, "ffm") && av_find_stream_info(c->fmt_in) < 0) {
if (strcmp(s->iformat->name, "ffm") && avformat_find_stream_info(c->fmt_in, NULL) < 0) {
http_log("Could not find stream info '%s'\n", input_filename);
av_close_input_file(s);
return -1;
@ -3621,7 +3621,7 @@ static void build_file_streams(void)
} else {
/* find all the AVStreams inside and reference them in
'stream' */
if (av_find_stream_info(infile) < 0) {
if (avformat_find_stream_info(infile, NULL) < 0) {
http_log("Could not find codec parameters from '%s'\n",
stream->feed_filename);
av_close_input_file(infile);

View File

@ -104,11 +104,11 @@ enum CouplingPoint {
* Output configuration status
*/
enum OCStatus {
OC_NONE, //< Output unconfigured
OC_TRIAL_PCE, //< Output configuration under trial specified by an inband PCE
OC_TRIAL_FRAME, //< Output configuration under trial specified by a frame header
OC_GLOBAL_HDR, //< Output configuration set in a global header but not yet locked
OC_LOCKED, //< Output configuration locked in place
OC_NONE, ///< Output unconfigured
OC_TRIAL_PCE, ///< Output configuration under trial specified by an inband PCE
OC_TRIAL_FRAME, ///< Output configuration under trial specified by a frame header
OC_GLOBAL_HDR, ///< Output configuration set in a global header but not yet locked
OC_LOCKED, ///< Output configuration locked in place
};
/**

View File

@ -28,9 +28,9 @@
#include "aacps_tablegen.h"
#include "aacpsdata.c"
#define PS_BASELINE 0 //< Operate in Baseline PS mode
//< Baseline implies 10 or 20 stereo bands,
//< mixing mode A, and no ipd/opd
#define PS_BASELINE 0 ///< Operate in Baseline PS mode
///< Baseline implies 10 or 20 stereo bands,
///< mixing mode A, and no ipd/opd
#define numQMFSlots 32 //numTimeSlots * RATE
@ -654,7 +654,7 @@ static void decorrelation(PSContext *ps, float (*out)[32][2], const float (*s)[3
const int8_t *k_to_i = is34 ? k_to_i_34 : k_to_i_20;
const float peak_decay_factor = 0.76592833836465f;
const float transient_impact = 1.5f;
const float a_smooth = 0.25f; //< Smoothing coefficient
const float a_smooth = 0.25f; ///< Smoothing coefficient
int i, k, m, n;
int n0 = 0, nL = 32;
static const int link_delay[] = { 3, 4, 5 };

View File

@ -52,11 +52,11 @@ typedef struct {
int num_env;
int enable_ipdopd;
int border_position[PS_MAX_NUM_ENV+1];
int8_t iid_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Inter-channel Intensity Difference Parameters
int8_t icc_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Inter-Channel Coherence Parameters
int8_t iid_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; ///< Inter-channel Intensity Difference Parameters
int8_t icc_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; ///< Inter-Channel Coherence Parameters
/* ipd/opd is iid/icc sized so that the same functions can handle both */
int8_t ipd_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Inter-channel Phase Difference Parameters
int8_t opd_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Overall Phase Difference Parameters
int8_t ipd_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; ///< Inter-channel Phase Difference Parameters
int8_t opd_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; ///< Overall Phase Difference Parameters
int is34bands;
int is34bands_old;

View File

@ -139,7 +139,7 @@ static void ps_tableinit(void)
}
for (iid = 0; iid < 46; iid++) {
float c = iid_par_dequant[iid]; //<Linear Inter-channel Intensity Difference
float c = iid_par_dequant[iid]; ///< Linear Inter-channel Intensity Difference
float c1 = (float)M_SQRT2 / sqrtf(1.0f + c*c);
float c2 = c * c1;
for (icc = 0; icc < 8; icc++) {

View File

@ -2888,8 +2888,8 @@ typedef struct AVCodecContext {
* - decoding: Set by user, otherwise the default is used.
*/
int thread_type;
#define FF_THREAD_FRAME 1 //< Decode more than one frame at once
#define FF_THREAD_SLICE 2 //< Decode more than one part of a single frame at once
#define FF_THREAD_FRAME 1 ///< Decode more than one frame at once
#define FF_THREAD_SLICE 2 ///< Decode more than one part of a single frame at once
/**
* Which multithreading methods are in use by the codec.

View File

@ -31,13 +31,13 @@ typedef struct {
int sampling_index;
int sample_rate;
int chan_config;
int sbr; //< -1 implicit, 1 presence
int sbr; ///< -1 implicit, 1 presence
int ext_object_type;
int ext_sampling_index;
int ext_sample_rate;
int ext_chan_config;
int channels;
int ps; //< -1 implicit, 1 presence
int ps; ///< -1 implicit, 1 presence
} MPEG4AudioConfig;
extern const int ff_mpeg4audio_sample_rates[16];

View File

@ -300,7 +300,7 @@ typedef struct MpegEncContext {
Picture *current_picture_ptr; ///< pointer to the current picture
int picture_count; ///< number of allocated pictures (MAX_PICTURE_COUNT * avctx->thread_count)
int picture_range_start, picture_range_end; ///< the part of picture that this context can allocate in
uint8_t *visualization_buffer[3]; //< temporary buffer vor MV visualization
uint8_t *visualization_buffer[3]; ///< temporary buffer vor MV visualization
int last_dc[3]; ///< last DC values for MPEG1
int16_t *dc_val_base;
int16_t *dc_val[3]; ///< used for mpeg4 DC prediction, all 3 arrays must be continuous

View File

@ -29,8 +29,8 @@
/**
* Decode DXT1 encoded data to RGB32
* @param *src source buffer, has to be aligned on a 4-byte boundary
* @param *dst destination buffer
* @param src source buffer, has to be aligned on a 4-byte boundary
* @param dst destination buffer
* @param w width of output image
* @param h height of output image
* @param stride line size of output image
@ -40,8 +40,8 @@ void ff_decode_dxt1(const uint8_t *src, uint8_t *dst,
const unsigned int stride);
/**
* Decode DXT3 encoded data to RGB32
* @param *src source buffer, has to be aligned on a 4-byte boundary
* @param *dst destination buffer
* @param src source buffer, has to be aligned on a 4-byte boundary
* @param dst destination buffer
* @param w width of output image
* @param h height of output image
* @param stride line size of output image

View File

@ -3306,7 +3306,7 @@ static void update_last_header_values(SnowContext *s){
static int qscale2qlog(int qscale){
return rint(QROOT*log(qscale / (float)FF_QP2LAMBDA)/log(2))
+ 61*QROOT/8; //<64 >60
+ 61*QROOT/8; ///< 64 > 60
}
static int ratecontrol_1pass(SnowContext *s, AVFrame *pict)

View File

@ -33,13 +33,13 @@
*/
typedef struct {
/* input data */
int16_t vector[8]; //< input vector: 5/5/4/4/4/3/3/3
int offset1[2]; //< 8-bit value, used in one copying offset
int offset2[4]; //< 7-bit value, encodes offsets for copying and for two-point filter
int pulseoff[4]; //< 4-bit offset of pulse values block
int pulsepos[4]; //< 27-bit variable, encodes 7 pulse positions
int pulseval[4]; //< 7x2-bit pulse values
int flag; //< 1-bit flag, shows how to choose filters
int16_t vector[8]; ///< input vector: 5/5/4/4/4/3/3/3
int offset1[2]; ///< 8-bit value, used in one copying offset
int offset2[4]; ///< 7-bit value, encodes offsets for copying and for two-point filter
int pulseoff[4]; ///< 4-bit offset of pulse values block
int pulsepos[4]; ///< 27-bit variable, encodes 7 pulse positions
int pulseval[4]; ///< 7x2-bit pulse values
int flag; ///< 1-bit flag, shows how to choose filters
/* temporary data */
int filtbuf[146]; // some big vector used for storing filters
int prevfilt[8]; // filter from previous frame

View File

@ -225,7 +225,7 @@ typedef struct Vp3DecodeContext {
/* these arrays need to be on 16-byte boundaries since SSE2 operations
* index into them */
DECLARE_ALIGNED(16, int16_t, qmat)[3][2][3][64]; //<qmat[qpi][is_inter][plane]
DECLARE_ALIGNED(16, int16_t, qmat)[3][2][3][64]; ///< qmat[qpi][is_inter][plane]
/* This table contains superblock_count * 16 entries. Each set of 16
* numbers corresponds to the fragment indexes 0..15 of the superblock.

View File

@ -34,7 +34,7 @@ enum { Y, U, V, A };
typedef struct {
int x, y, w, h;
unsigned char yuv_color[4];
int vsub, hsub; //< chroma subsampling
int vsub, hsub; ///< chroma subsampling
} DrawBoxContext;
static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)

View File

@ -86,7 +86,7 @@ int main(int argc, char **argv)
exit(1);
}
ret = av_find_stream_info(ic);
ret = avformat_find_stream_info(ic, NULL);
if (ret < 0) {
fprintf(stderr, "%s: could not find codec parameters\n", filename);
exit(1);

View File

@ -77,7 +77,8 @@ OBJS-$(ARCH_ARM) += arm/cpu.o
OBJS-$(ARCH_PPC) += ppc/cpu.o
OBJS-$(ARCH_X86) += x86/cpu.o
TESTPROGS = adler32 aes avstring base64 cpu crc des eval file lfg lls \
TESTPROGS = adler32 aes avstring base64 cpu crc des eval file fifo lfg lls \
md5 opt pca parseutils rational sha tree
TESTPROGS-$(HAVE_LZO1X_999_COMPRESS) += lzo

View File

@ -40,7 +40,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 13
#define LIBAVUTIL_VERSION_MINOR 14
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \

View File

@ -128,3 +128,39 @@ void av_fifo_drain(AVFifoBuffer *f, int size)
f->rptr -= f->end - f->buffer;
f->rndx += size;
}
#ifdef TEST
#undef printf
int main(void)
{
/* create a FIFO buffer */
AVFifoBuffer *fifo = av_fifo_alloc(13 * sizeof(int));
int i, j, n;
/* fill data */
for (i = 0; av_fifo_space(fifo) >= sizeof(int); i++)
av_fifo_generic_write(fifo, &i, sizeof(int), NULL);
/* peek at FIFO */
n = av_fifo_size(fifo)/sizeof(int);
for (i = -n+1; i < n; i++) {
int *v = (int *)av_fifo_peek2(fifo, i*sizeof(int));
printf("%d: %d\n", i, *v);
}
printf("\n");
/* read data */
for (i = 0; av_fifo_size(fifo) >= sizeof(int); i++) {
av_fifo_generic_read(fifo, &j, sizeof(int), NULL);
printf("%d ", j);
}
printf("\n");
av_fifo_free(fifo);
return 0;
}
#endif

View File

@ -42,20 +42,20 @@ AVFifoBuffer *av_fifo_alloc(unsigned int size);
/**
* Free an AVFifoBuffer.
* @param *f AVFifoBuffer to free
* @param f AVFifoBuffer to free
*/
void av_fifo_free(AVFifoBuffer *f);
/**
* Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
* @param *f AVFifoBuffer to reset
* @param f AVFifoBuffer to reset
*/
void av_fifo_reset(AVFifoBuffer *f);
/**
* Return the amount of data in bytes in the AVFifoBuffer, that is the
* amount of data you can read from it.
* @param *f AVFifoBuffer to read from
* @param f AVFifoBuffer to read from
* @return size
*/
int av_fifo_size(AVFifoBuffer *f);
@ -63,27 +63,27 @@ int av_fifo_size(AVFifoBuffer *f);
/**
* Return the amount of space in bytes in the AVFifoBuffer, that is the
* amount of data you can write into it.
* @param *f AVFifoBuffer to write into
* @param f AVFifoBuffer to write into
* @return size
*/
int av_fifo_space(AVFifoBuffer *f);
/**
* Feed data from an AVFifoBuffer to a user-supplied callback.
* @param *f AVFifoBuffer to read from
* @param f AVFifoBuffer to read from
* @param buf_size number of bytes to read
* @param *func generic read function
* @param *dest data destination
* @param func generic read function
* @param dest data destination
*/
int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int));
/**
* Feed data from a user-supplied callback to an AVFifoBuffer.
* @param *f AVFifoBuffer to write to
* @param *src data source; non-const since it may be used as a
* @param f AVFifoBuffer to write to
* @param src data source; non-const since it may be used as a
* modifiable context by the function defined in func
* @param size number of bytes to write
* @param *func generic write function; the first parameter is src,
* @param func generic write function; the first parameter is src,
* the second is dest_buf, the third is dest_buf_size.
* func must return the number of bytes written to dest_buf, or <= 0 to
* indicate no more data available to write.
@ -94,7 +94,7 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void
/**
* Resize an AVFifoBuffer.
* @param *f AVFifoBuffer to resize
* @param f AVFifoBuffer to resize
* @param size new AVFifoBuffer size in bytes
* @return <0 for failure, >=0 otherwise
*/
@ -102,7 +102,7 @@ int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size);
/**
* Read and discard the specified amount of data from an AVFifoBuffer.
* @param *f AVFifoBuffer to read from
* @param f AVFifoBuffer to read from
* @param size amount of data to read in bytes
*/
void av_fifo_drain(AVFifoBuffer *f, int size);

View File

@ -25,6 +25,10 @@ FATE_TESTS += fate-eval
fate-eval: libavutil/eval-test$(EXESUF)
fate-eval: CMD = run libavutil/eval-test
FATE_TESTS += fate-fifo
fate-fifo: libavutil/fifo-test$(EXESUF)
fate-fifo: CMD = run libavutil/fifo-test
FATE_TESTS += fate-md5
fate-md5: libavutil/md5-test$(EXESUF)
fate-md5: CMD = run libavutil/md5-test

27
tests/ref/fate/fifo Normal file
View File

@ -0,0 +1,27 @@
-12: 1
-11: 2
-10: 3
-9: 4
-8: 5
-7: 6
-6: 7
-5: 8
-4: 9
-3: 10
-2: 11
-1: 12
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
10: 10
11: 11
12: 12
0 1 2 3 4 5 6 7 8 9 10 11 12

View File

@ -89,9 +89,9 @@ int main(int argc, char **argv)
return 1;
}
err = av_find_stream_info(fctx);
err = avformat_find_stream_info(fctx, NULL);
if (err < 0) {
fprintf(stderr, "av_find_stream_info: error %d\n", err);
fprintf(stderr, "avformat_find_stream_info: error %d\n", err);
return 1;
}