Mercurial > mplayer.hg
annotate libmpcodecs/ae.h @ 36617:7d4fa6681d2b
vd: Make sure we test the preferred format first.
Otherwise vd_ffmpeg will always convert 422 to 420
for e.g. ffh246 since it only needs a stride adjustment.
author | reimar |
---|---|
date | Thu, 23 Jan 2014 19:36:52 +0000 |
parents | 5a9d68a07ed1 |
children |
rev | line source |
---|---|
30421
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
1 /* |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
2 * This file is part of MPlayer. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
3 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
7 * (at your option) any later version. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
8 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
12 * GNU General Public License for more details. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
13 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
17 */ |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_AE_H |
20 #define MPLAYER_AE_H | |
15234 | 21 |
26147
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
22 #include "libmpdemux/muxer.h" |
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
23 |
15234 | 24 #define ACODEC_COPY 0 |
25 #define ACODEC_PCM 1 | |
26 #define ACODEC_VBRMP3 2 | |
27 #define ACODEC_NULL 3 | |
28 #define ACODEC_LAVC 4 | |
29 #define ACODEC_TOOLAME 5 | |
15258 | 30 #define ACODEC_FAAC 6 |
15359 | 31 #define ACODEC_TWOLAME 7 |
15234 | 32 |
33 #define AE_NEEDS_COMPRESSED_INPUT 1 | |
34 | |
35 typedef struct { | |
36 int channels; | |
37 int sample_rate; | |
38 int bitrate; | |
39 int samples_per_frame; | |
40 int audio_preload; | |
33504
5a9d68a07ed1
Pass "native" filter chain sample format to audio encoder.
reimar
parents:
30421
diff
changeset
|
41 int sample_format; |
15234 | 42 } audio_encoding_params_t; |
43 | |
15258 | 44 typedef struct audio_encoder_s { |
15234 | 45 int codec; |
46 int flags; | |
47 muxer_stream_t *stream; | |
48 audio_encoding_params_t params; | |
49 int audio_preload; //in ms | |
50 int input_format; | |
51 int min_buffer_size, max_buffer_size; //for init_audio_filters | |
17122 | 52 unsigned char *decode_buffer; |
15234 | 53 int decode_buffer_size; |
54 int decode_buffer_len; | |
55 void *priv; | |
15258 | 56 int (*bind)(struct audio_encoder_s*, muxer_stream_t*); |
57 int (*get_frame_size)(struct audio_encoder_s*); | |
58 int (*set_decoded_len)(struct audio_encoder_s *encoder, int len); | |
59 int (*encode)(struct audio_encoder_s *encoder, uint8_t *dest, void *src, int nsamples, int max_size); | |
60 void (*fixup)(struct audio_encoder_s *encoder); | |
61 int (*close)(struct audio_encoder_s *encoder); | |
15234 | 62 } audio_encoder_t; |
63 | |
64 audio_encoder_t *new_audio_encoder(muxer_stream_t *stream, audio_encoding_params_t *params); | |
65 | |
26029 | 66 #endif /* MPLAYER_AE_H */ |