
Recherche avancée
Autres articles (36)
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...) -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.
Sur d’autres sites (7006)
-
Revision bfc27bb614 : tx-skip experiment : improve entropy coding of coeff tokens This patch allows th
31 mars 2015, par hui suChanged Paths :
Modify /vp9/common/vp9_entropy.c
Modify /vp9/common/vp9_entropy.h
Modify /vp9/common/vp9_onyxc_int.h
Modify /vp9/common/vp9_quant_common.c
Modify /vp9/decoder/vp9_detokenize.c
Modify /vp9/encoder/vp9_encodemb.c
Modify /vp9/encoder/vp9_rdopt.c
Modify /vp9/encoder/vp9_tokenize.c
tx-skip experiment : improve entropy coding of coeff tokensThis patch allows the prediction residues of tx-skipped blocks
to use probs that are different from regular transfrom
coefficients for token entropy coding. Prediction residues are
assumed as in band 6.The initial value of probs is obtained with stats from limited
tests. The statistic model for constrained token nodes has not
been optimized. The probs for token extra bits have not been
optimized. These can be future work.Certain coding improvment is observed :
derflr with all experiments : +6.26% (+0.10%)
screen_content with palette : +22.48% (+1.28%)Change-Id : I1c0d78178ee9f3655febb6f30cdaef8ee9f8e3cc
-
ffmpeg library performance for decoding h.264 for embedded device
2 avril 2015, par pasifusI have some confuse when tried to compile and run decode h.264 on ARM and MIPS architecture.
I have two embedded devices. I tired to run simple code that read h264 format from file and decode it to h264 in loop in maximum speed (without sleep between frames)
I found that it too slow in there devices.
I tested HD video (720p/25fps)- MIPS32® 1004K (700MHz) it was 4 fps average.
- Raspberry Pi Model B (700MHz) it also was 4 fps average. (i know that raspberry have GPU to decoding/encoding)
A also check it on my virtual machine on ubuntu i686 (1300MHz) and it was 200 fps average.
The question : why it so different preference ? Somebody know how to increase decoding preference on MIPS32® 1004K architecture ?
#include
#include
#include
#include
#include <sys></sys>time.h>
#include
#include "libavcodec/avcodec.h"
#include "libavutil/mathematics.h"
#define INBUF_SIZE 80000
static long get_time_diff(struct timeval time_now) {
struct timeval time_now2;
gettimeofday(&time_now2,0);
return time_now2.tv_sec*1.e6 - time_now.tv_sec*1.e6 + time_now2.tv_usec - time_now.tv_usec;
}
int main(int argc, char **argv)
{
AVCodec *codec;
AVCodecContext *c= NULL;
AVCodecParserContext *parser = NULL;
int frame, got_picture, len2, len;
const char *filename;
FILE *f;
AVFrame *picture;
char *arghwtf = malloc(INBUF_SIZE);
uint64_t in_len;
int pts, dts;
struct timeval t,t2;
float inv_fps = 1e6/23.98;
AVPacket avpkt;
// register all the codecs
avcodec_register_all();
// log level
av_log_set_level(AV_LOG_PANIC|AV_LOG_FATAL|AV_LOG_ERROR|AV_LOG_WARNING);
filename = argv[1];
av_init_packet(&avpkt);
printf("Decoding file %s...\n", filename);
// find the H.264 video decoder
codec = avcodec_find_decoder(CODEC_ID_H264);
if (!codec)
{
fprintf(stderr, "codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
picture = avcodec_alloc_frame();
// skiploopfilter=all
c->skip_loop_filter = 48;
AVDictionary* dictionary = NULL;
if (avcodec_open2(c, codec, &dictionary) < 0)
{
fprintf(stderr, "could not open codec\n");
exit(1);
}
// the codec gives us the frame size, in samples
parser = av_parser_init(c->codec_id);
parser->flags |= PARSER_FLAG_ONCE;
f = fopen(filename, "rb");
if (!f)
{
fprintf(stderr, "could not open %s\n", filename);
exit(1);
}
frame = 0;
gettimeofday(&t, 0);
if(fread(arghwtf, 1, INBUF_SIZE, f) == 0)
{
exit(1);
}
in_len = 80000;
gettimeofday(&t2, 0);
while (in_len > 0 && !feof(f))
{
len = av_parser_parse2(parser, c, &avpkt.data, &avpkt.size, arghwtf, in_len, pts, dts, AV_NOPTS_VALUE);
len2 = avcodec_decode_video2(c, picture, &got_picture, &avpkt);
if (len2 < 0) {
fprintf(stderr, "Error while decoding frame %d\n", frame);
exit(1);
}
if (got_picture)
{
fprintf(stderr, "\rDisplaying %c %dx%d :frame %3d (%02d:%03d)...", av_get_picture_type_char(picture->pict_type), c->width, c->height, frame, (int)(get_time_diff(t)/1000000), (int)((get_time_diff(t)/1000)%1000));
fflush(stderr);
frame++;
}
memcpy(arghwtf, arghwtf + len, 80000-len);
fread(arghwtf + 80000 - len, 1, len, f);
}
fclose(f);
avcodec_close(c);
av_free(c);
av_free(picture);
printf("\n");
printf("Avarage fps: %d\n", (int)(((double)frame)/(double)(get_time_diff(t)/1000)*1000));
return 0;
} -
Merge commit ’e0046bc9c96150fa06146ace9093f06857dd7b23’
23 mars 2015, par Michael Niedermayer