# HG changeset patch # User benoit # Date 1180534855 0 # Node ID 9930b7031cb285340ca3921963f6cdd23fe24bc4 # Parent ce36118abbbb934fab95741a92954e3ebe38effd Add support for listing the supported pixel formats using the option -pix_fmt list patch by Stefano Sabatini stefano sabatini minus lala chez poste it original thread: [FFmpeg-devel] [PATCH] List supported pixel formats date: 05/25/2007 05:46 PM diff -r ce36118abbbb -r 9930b7031cb2 avcodec.h --- a/avcodec.h Wed May 30 09:32:25 2007 +0000 +++ b/avcodec.h Wed May 30 14:20:55 2007 +0000 @@ -2615,6 +2615,19 @@ int avcodec_find_best_pix_fmt(int pix_fmt_mask, int src_pix_fmt, int has_alpha, int *loss_ptr); + +/** + * Print in buf the string corresponding to the pixel format with + * number pix_fmt, or an header if pix_fmt is negative. + * + * @param buf[in] the buffer where to write the string + * @param buf_size[in] the size of buf + * @param pix_fmt[in] the number of the pixel format to print the corresponding info string, or + * a negative value to print the corresponding header. + * Meaningful values for obtaining a pixel format info vary from 0 to PIX_FMT_NB -1. + */ +void avcodec_pix_fmt_string (char *buf, int buf_size, int pix_fmt); + #define FF_ALPHA_TRANSP 0x0001 /* image has some totally transparent pixels */ #define FF_ALPHA_SEMI_TRANSP 0x0002 /* image has some transparent pixels */ diff -r ce36118abbbb -r 9930b7031cb2 imgconvert.c --- a/imgconvert.c Wed May 30 09:32:25 2007 +0000 +++ b/imgconvert.c Wed May 30 14:20:55 2007 +0000 @@ -378,6 +378,27 @@ return i; } +void avcodec_pix_fmt_string (char *buf, int buf_size, int pix_fmt) +{ + PixFmtInfo info= pix_fmt_info[pix_fmt]; + + char is_alpha_char= info.is_alpha ? 'y' : 'n'; + + /* print header */ + if (pix_fmt < 0) + snprintf (buf, buf_size, + "name " " nb_channels" " depth" " is_alpha" + ); + else + snprintf (buf, buf_size, + "%-10s" " %1d " " %2d " " %c ", + info.name, + info.nb_channels, + info.depth, + is_alpha_char + ); +} + int avpicture_fill(AVPicture *picture, uint8_t *ptr, int pix_fmt, int width, int height) {