
Recherche avancée
Autres articles (90)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (6706)
-
avcodec/nvdec : Add support for decoding monochrome av1
6 décembre 2020, par Philip Langdaleavcodec/nvdec : Add support for decoding monochrome av1
The nvidia hardware explicitly supports decoding monochrome content,
presumably for the AVIF alpha channel. Supporting this requires an
adjustment in av1dec and explicit monochrome detection in nvdec.I'm not sure why the monochrome path in av1dec did what it did - it
seems non-functional - YUV440P doesn't seem a logical pix_fmt for
monochrome and conditioning on chroma sub-sampling doesn't make sense.
So I changed it.I've tested 8bit content, but I haven't found a way to create a 10bit
sample, so that path is untested for now. -
avcodec/aom_film_grain : implement AFGS1 parsing
26 février 2024, par Niklas Haasavcodec/aom_film_grain : implement AFGS1 parsing
Based on the AOMedia Film Grain Synthesis 1 (AFGS1) spec :
https://aomediacodec.github.io/afgs1-spec/The parsing has been changed substantially relative to the AV1 film
grain OBU. In particular :1. There is the possibility of maintaining multiple independent film
grain parameter sets, and decoders/players are recommended to pick
the one most appropriate for the intended display resolution. This
could also be used to e.g. switch between different grain profiles
without having to re-signal the appropriate coefficients.2. Supporting this, it's possible to *predict* the grain coefficients
from previously signalled parameter sets, transmitting only the
residual.3. When not predicting, the parameter sets are now stored as a series of
increments, rather than being directly transmitted.4. There are several new AFGS1-exclusive fields.
I placed this parser in its own file, rather than h2645_sei.c, since
nothing in the generic AFGS1 film grain payload is specific to T.35, and
to compartmentalize the code base. -
simple way te to compute rgb buffer from I420 frame ffmpeg
9 mars 2023, par haceneshI'm trying to compute directly rgb buffer from avframe. Something is going wrong since the obtained image is wrong. Extracting grey image from AVFrame->data[0] is working fine. However I'm not able to extract colored image


inline void YCrCb_to_RGB8(int Y, int Cr, int Cb, int& R, int& G, int& B){

 R = (int)(Y + 1.402 *(Cr - 128));
 G = (int)(Y - 0.344136*(Cb-128) -0.71414*(Cr-128));
 B = (int)(Y + 1.772 *(Cb-128));

 if (R < 0) R = 0; else if (R > 255) R = 255;
 if (G < 0) G = 0; else if (G > 255) G = 255;
 if (B < 0) B = 0; else if (B > 255) B = 255;
}

int getRGB8buffer(AVFrame* pFrame, byte* buffer){

 const int width = pFrame->width, height = pFrame->height;
 int Y, Cr, Cb;
 int R, G, B;

 int pixel = 0;
 for (int y = 0; y < height; y++)
 {
 for (int x = 0; x < width; x++)
 {

 Y = pFrame->data[0][x + y * width];
 Cr = pFrame->data[1][x / 2 + ((int)(y / 2)) * pFrame->linesize[1]];
 Cb = pFrame->data[2][x / 2 + ((int)(y / 2)) * pFrame->linesize[2]];

 YCrCb_to_RGB8(Y, Cr, Cb, R, G, B);
 buffer[pixel * 3 + 0] = R;
 buffer[pixel * 3 + 1] = G;
 buffer[pixel * 3 + 2] = B;
 pixel++;
 }
 }
 return 0;
}



When I save the obtained image as ppm using


int save_RGB_frame(unsigned char* buf, int wrap, int xsize,int ysize, const char* filename){

 FILE* f;
 int i;
 f = fopen(filename, "w");
 // portable ppm format -> https://en.wikipedia.org/wiki/Netpbm#PPM_example
 fprintf(f, "P6\n%d %d\n%d\n", xsize, ysize, 255);

 // writing line by line
 for (i = 0; i < ysize; i++)
 fwrite(buf + i * wrap, 1, xsize*3, f);
 fclose(f);

 return 0;
 }



The resulting image is wrong
link the the resulting image https://github.com/hacenesh/ffmpeg_question/blob/main/img_2028144.ppm