
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (109)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (12562)
-
avformat/movenc : use unspecified language by default
19 mai 2019, par Marton Balintavformat/movenc : use unspecified language by default
English was used before.
Signed-off-by : Marton Balint <cus@passwd.hu>
- [DH] Changelog
- [DH] libavformat/movenc.c
- [DH] libavformat/version.h
- [DH] tests/ref/acodec/alac
- [DH] tests/ref/acodec/pcm-s16be
- [DH] tests/ref/acodec/pcm-s24be
- [DH] tests/ref/acodec/pcm-s32be
- [DH] tests/ref/acodec/pcm-s8
- [DH] tests/ref/fate/adtstoasc_ticket3715
- [DH] tests/ref/lavf/mov
- [DH] tests/ref/lavf/mov_rtphint
- [DH] tests/ref/vsynth/vsynth1-avui
- [DH] tests/ref/vsynth/vsynth1-dnxhd-1080i
- [DH] tests/ref/vsynth/vsynth1-dnxhd-1080i-10bit
- [DH] tests/ref/vsynth/vsynth1-dnxhd-1080i-colr
- [DH] tests/ref/vsynth/vsynth1-dnxhd-hr-hq-mov
- [DH] tests/ref/vsynth/vsynth1-dnxhd-hr-lb-mov
- [DH] tests/ref/vsynth/vsynth1-dnxhd-hr-sq-mov
- [DH] tests/ref/vsynth/vsynth1-mov-bgr24
- [DH] tests/ref/vsynth/vsynth1-mov-bpp15
- [DH] tests/ref/vsynth/vsynth1-mov-bpp16
- [DH] tests/ref/vsynth/vsynth1-prores
- [DH] tests/ref/vsynth/vsynth1-prores_444
- [DH] tests/ref/vsynth/vsynth1-prores_444_int
- [DH] tests/ref/vsynth/vsynth1-prores_int
- [DH] tests/ref/vsynth/vsynth1-prores_ks
- [DH] tests/ref/vsynth/vsynth1-qtrle
- [DH] tests/ref/vsynth/vsynth1-qtrlegray
- [DH] tests/ref/vsynth/vsynth1-svq1
- [DH] tests/ref/vsynth/vsynth1-vc2-420p
- [DH] tests/ref/vsynth/vsynth1-vc2-420p10
- [DH] tests/ref/vsynth/vsynth1-vc2-420p12
- [DH] tests/ref/vsynth/vsynth1-vc2-422p
- [DH] tests/ref/vsynth/vsynth1-vc2-422p10
- [DH] tests/ref/vsynth/vsynth1-vc2-422p12
- [DH] tests/ref/vsynth/vsynth1-vc2-444p
- [DH] tests/ref/vsynth/vsynth1-vc2-444p10
- [DH] tests/ref/vsynth/vsynth1-vc2-444p12
- [DH] tests/ref/vsynth/vsynth1-vc2-t5_3
- [DH] tests/ref/vsynth/vsynth1-vc2-thaar
- [DH] tests/ref/vsynth/vsynth2-avui
- [DH] tests/ref/vsynth/vsynth2-dnxhd-1080i
- [DH] tests/ref/vsynth/vsynth2-dnxhd-1080i-10bit
- [DH] tests/ref/vsynth/vsynth2-dnxhd-1080i-colr
- [DH] tests/ref/vsynth/vsynth2-dnxhd-hr-hq-mov
- [DH] tests/ref/vsynth/vsynth2-dnxhd-hr-lb-mov
- [DH] tests/ref/vsynth/vsynth2-dnxhd-hr-sq-mov
- [DH] tests/ref/vsynth/vsynth2-mov-bgr24
- [DH] tests/ref/vsynth/vsynth2-mov-bpp15
- [DH] tests/ref/vsynth/vsynth2-mov-bpp16
- [DH] tests/ref/vsynth/vsynth2-prores
- [DH] tests/ref/vsynth/vsynth2-prores_444
- [DH] tests/ref/vsynth/vsynth2-prores_444_int
- [DH] tests/ref/vsynth/vsynth2-prores_int
- [DH] tests/ref/vsynth/vsynth2-prores_ks
- [DH] tests/ref/vsynth/vsynth2-qtrle
- [DH] tests/ref/vsynth/vsynth2-qtrlegray
- [DH] tests/ref/vsynth/vsynth2-svq1
- [DH] tests/ref/vsynth/vsynth2-vc2-420p
- [DH] tests/ref/vsynth/vsynth2-vc2-420p10
- [DH] tests/ref/vsynth/vsynth2-vc2-420p12
- [DH] tests/ref/vsynth/vsynth2-vc2-422p
- [DH] tests/ref/vsynth/vsynth2-vc2-422p10
- [DH] tests/ref/vsynth/vsynth2-vc2-422p12
- [DH] tests/ref/vsynth/vsynth2-vc2-444p
- [DH] tests/ref/vsynth/vsynth2-vc2-444p10
- [DH] tests/ref/vsynth/vsynth2-vc2-444p12
- [DH] tests/ref/vsynth/vsynth2-vc2-t5_3
- [DH] tests/ref/vsynth/vsynth2-vc2-thaar
- [DH] tests/ref/vsynth/vsynth3-dnxhd-1080i-10bit
- [DH] tests/ref/vsynth/vsynth3-dnxhd-1080i-colr
- [DH] tests/ref/vsynth/vsynth3-dnxhd-hr-hq-mov
- [DH] tests/ref/vsynth/vsynth3-dnxhd-hr-lb-mov
- [DH] tests/ref/vsynth/vsynth3-dnxhd-hr-sq-mov
- [DH] tests/ref/vsynth/vsynth3-mov-bgr24
- [DH] tests/ref/vsynth/vsynth3-mov-bpp15
- [DH] tests/ref/vsynth/vsynth3-mov-bpp16
- [DH] tests/ref/vsynth/vsynth3-prores
- [DH] tests/ref/vsynth/vsynth3-prores_444
- [DH] tests/ref/vsynth/vsynth3-prores_444_int
- [DH] tests/ref/vsynth/vsynth3-prores_int
- [DH] tests/ref/vsynth/vsynth3-prores_ks
- [DH] tests/ref/vsynth/vsynth3-qtrle
- [DH] tests/ref/vsynth/vsynth3-svq1
- [DH] tests/ref/vsynth/vsynth_lena-avui
- [DH] tests/ref/vsynth/vsynth_lena-dnxhd-1080i
- [DH] tests/ref/vsynth/vsynth_lena-dnxhd-1080i-10bit
- [DH] tests/ref/vsynth/vsynth_lena-dnxhd-1080i-colr
- [DH] tests/ref/vsynth/vsynth_lena-dnxhd-hr-hq-mov
- [DH] tests/ref/vsynth/vsynth_lena-dnxhd-hr-lb-mov
- [DH] tests/ref/vsynth/vsynth_lena-dnxhd-hr-sq-mov
- [DH] tests/ref/vsynth/vsynth_lena-mov-bgr24
- [DH] tests/ref/vsynth/vsynth_lena-mov-bpp15
- [DH] tests/ref/vsynth/vsynth_lena-mov-bpp16
- [DH] tests/ref/vsynth/vsynth_lena-prores
- [DH] tests/ref/vsynth/vsynth_lena-prores_444
- [DH] tests/ref/vsynth/vsynth_lena-prores_444_int
- [DH] tests/ref/vsynth/vsynth_lena-prores_int
- [DH] tests/ref/vsynth/vsynth_lena-prores_ks
- [DH] tests/ref/vsynth/vsynth_lena-qtrle
- [DH] tests/ref/vsynth/vsynth_lena-qtrlegray
- [DH] tests/ref/vsynth/vsynth_lena-svq1
- [DH] tests/ref/vsynth/vsynth_lena-vc2-420p
- [DH] tests/ref/vsynth/vsynth_lena-vc2-420p10
- [DH] tests/ref/vsynth/vsynth_lena-vc2-420p12
- [DH] tests/ref/vsynth/vsynth_lena-vc2-422p
- [DH] tests/ref/vsynth/vsynth_lena-vc2-422p10
- [DH] tests/ref/vsynth/vsynth_lena-vc2-422p12
- [DH] tests/ref/vsynth/vsynth_lena-vc2-444p
- [DH] tests/ref/vsynth/vsynth_lena-vc2-444p10
- [DH] tests/ref/vsynth/vsynth_lena-vc2-444p12
- [DH] tests/ref/vsynth/vsynth_lena-vc2-t5_3
- [DH] tests/ref/vsynth/vsynth_lena-vc2-thaar
-
How to open a .sw file using libav library in c language ?
29 août 2018, par volatileI created a .sw(16 bit pcm) file by passing an audio file. Now I am trying to get back the original audio(.mp3) by passing the .sw file as an input to the following file.
How can I read the .sw file content so that I can get back the mp3 file. Below is the code,
#include
#include
#include
#include <libavcodec></libavcodec>avcodec.h>
#include <libavformat></libavformat>avformat.h>
#include <libavutil></libavutil>channel_layout.h>
#include <libavutil></libavutil>common.h>
#include <libavutil></libavutil>frame.h>
#include <libavutil></libavutil>samplefmt.h>
/* check that a given sample format is supported by the encoder */
static int check_sample_fmt(const AVCodec *codec, enum AVSampleFormat sample_fmt)
{
const enum AVSampleFormat *p = codec->sample_fmts;
while (*p != AV_SAMPLE_FMT_NONE) {
if (*p == sample_fmt)
return 1;
p++;
}
return 0;
}
/* just pick the highest supported samplerate */
static int select_sample_rate(const AVCodec *codec)
{
const int *p;
int best_samplerate = 0;
if (!codec->supported_samplerates)
return 44100;
p = codec->supported_samplerates;
while (*p) {
if (!best_samplerate || abs(44100 - *p) < abs(44100 - best_samplerate))
best_samplerate = *p;
p++;
}
return best_samplerate;
}
/* select layout with the highest channel count */
static int select_channel_layout(const AVCodec *codec)
{
const uint64_t *p;
uint64_t best_ch_layout = 0;
int best_nb_channels = 0;
if (!codec->channel_layouts)
return AV_CH_LAYOUT_STEREO;
p = codec->channel_layouts;
while (*p) {
int nb_channels = av_get_channel_layout_nb_channels(*p);
if (nb_channels > best_nb_channels) {
best_ch_layout = *p;
best_nb_channels = nb_channels;
}
p++;
}
return best_ch_layout;
}
static void encode(AVCodecContext *ctx, AVFrame *frame, AVPacket *pkt,
FILE *output)
{
int ret;
/* send the frame for encoding */
ret = avcodec_send_frame(ctx, frame);
if (ret < 0) {
fprintf(stderr, "Error sending the frame to the encoder\n");
exit(1);
}
/* read all the available output packets (in general there may be any
* number of them */
while (ret >= 0) {
ret = avcodec_receive_packet(ctx, pkt);
if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
return;
else if (ret < 0) {
fprintf(stderr, "Error encoding audio frame\n");
exit(1);
}
fwrite(pkt->data, 1, pkt->size, output);
av_packet_unref(pkt);
}
}
int main(int argc, char **argv)
{
const char *filename;
const AVCodec *codec;
AVCodecContext *c= NULL;
AVFrame *frame;
AVPacket *pkt;
int i, j, k, ret;
FILE *f;
uint16_t *samples;
float t, tincr;
av_register_all();
avcodec_register_all();
if (argc <= 1) {
fprintf(stderr, "Usage: %s <output file="file">\n", argv[0]);
return 0;
}
filename = argv[1];
/* find the MP2 encoder */
codec = avcodec_find_encoder(AV_CODEC_ID_MP3);
if (!codec) {
fprintf(stderr, "Codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
if (!c) {
fprintf(stderr, "Could not allocate audio codec context\n");
exit(1);
}
/* put sample parameters */
c->bit_rate = 64000;
/* check that the encoder supports s16 pcm input */
c->sample_fmt = AV_SAMPLE_FMT_S16P;
if (!check_sample_fmt(codec, c->sample_fmt)) {
fprintf(stderr, "Encoder does not support sample format %s",
av_get_sample_fmt_name(c->sample_fmt));
exit(1);
}
/* select other audio parameters supported by the encoder */
c->sample_rate = select_sample_rate(codec);
c->channel_layout = select_channel_layout(codec);
c->channels = av_get_channel_layout_nb_channels(c->channel_layout);
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "Could not open codec\n");
exit(1);
}
f = fopen(filename, "wb");
if (!f) {
fprintf(stderr, "Could not open %s\n", filename);
exit(1);
}
/* packet for holding encoded output */
pkt = av_packet_alloc();
if (!pkt) {
fprintf(stderr, "could not allocate the packet\n");
exit(1);
}
/* frame containing input raw audio */
frame = av_frame_alloc();
if (!frame) {
fprintf(stderr, "Could not allocate audio frame\n");
exit(1);
}
frame->nb_samples = c->frame_size;
frame->format = c->sample_fmt;
frame->channel_layout = c->channel_layout;
/* allocate the data buffers */
ret = av_frame_get_buffer(frame, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate audio data buffers\n");
exit(1);
}
/* encode a single tone sound */
t = 0;
tincr = 2 * M_PI * 440.0 / c->sample_rate;
for (i = 0; i < 200; i++) {
/* make sure the frame is writable -- makes a copy if the encoder
* kept a reference internally */
ret = av_frame_make_writable(frame);
if (ret < 0)
exit(1);
samples = (uint16_t*)frame->data[0];
for (j = 0; j < c->frame_size; j++) {
samples[2*j] = (int)(sin(t) * 10000);
for (k = 1; k < c->channels; k++)
samples[2*j + k] = samples[2*j];
t += tincr;
}
encode(c, frame, pkt, f);
}
/* flush the encoder */
encode(c, NULL, pkt, f);
fclose(f);
av_frame_free(&frame);
av_packet_free(&pkt);
avcodec_free_context(&c);
return 0;
}
</output>I just want to know, where and how the .sw file is reading in the above audio encoding code ?
-
avcodec/c93 : Check for block overlap.
16 avril 2013, par Michael Niedermayeravcodec/c93 : Check for block overlap.