Commit b7f1010c authored by Anton Khirnov's avatar Anton Khirnov

tools: do not use av_pix_fmt_descriptors directly.

parent d2fcb356
...@@ -584,6 +584,7 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx) ...@@ -584,6 +584,7 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)
const char *profile; const char *profile;
char val_str[128]; char val_str[128];
AVRational display_aspect_ratio; AVRational display_aspect_ratio;
const AVPixFmtDescriptor *desc;
probe_object_header("stream"); probe_object_header("stream");
...@@ -629,9 +630,8 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx) ...@@ -629,9 +630,8 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)
rational_string(val_str, sizeof(val_str), ":", rational_string(val_str, sizeof(val_str), ":",
&display_aspect_ratio)); &display_aspect_ratio));
} }
probe_str("pix_fmt", desc = av_pix_fmt_desc_get(dec_ctx->pix_fmt);
dec_ctx->pix_fmt != AV_PIX_FMT_NONE ? probe_str("pix_fmt", desc ? desc->name : "unknown");
av_pix_fmt_descriptors[dec_ctx->pix_fmt].name : "unknown");
probe_int("level", dec_ctx->level); probe_int("level", dec_ctx->level);
break; break;
......
...@@ -866,7 +866,7 @@ int show_filters(void *optctx, const char *opt, const char *arg) ...@@ -866,7 +866,7 @@ int show_filters(void *optctx, const char *opt, const char *arg)
int show_pix_fmts(void *optctx, const char *opt, const char *arg) int show_pix_fmts(void *optctx, const char *opt, const char *arg)
{ {
enum AVPixelFormat pix_fmt; const AVPixFmtDescriptor *pix_desc = NULL;
printf("Pixel formats:\n" printf("Pixel formats:\n"
"I.... = Supported Input format for conversion\n" "I.... = Supported Input format for conversion\n"
...@@ -882,8 +882,8 @@ int show_pix_fmts(void *optctx, const char *opt, const char *arg) ...@@ -882,8 +882,8 @@ int show_pix_fmts(void *optctx, const char *opt, const char *arg)
# define sws_isSupportedOutput(x) 0 # define sws_isSupportedOutput(x) 0
#endif #endif
for (pix_fmt = 0; pix_fmt < AV_PIX_FMT_NB; pix_fmt++) { while ((pix_desc = av_pix_fmt_desc_next(pix_desc))) {
const AVPixFmtDescriptor *pix_desc = &av_pix_fmt_descriptors[pix_fmt]; enum AVPixelFormat pix_fmt = av_pix_fmt_desc_get_id(pix_desc);
printf("%c%c%c%c%c %-16s %d %2d\n", printf("%c%c%c%c%c %-16s %d %2d\n",
sws_isSupportedInput (pix_fmt) ? 'I' : '.', sws_isSupportedInput (pix_fmt) ? 'I' : '.',
sws_isSupportedOutput(pix_fmt) ? 'O' : '.', sws_isSupportedOutput(pix_fmt) ? 'O' : '.',
...@@ -1282,13 +1282,19 @@ void *grow_array(void *array, int elem_size, int *size, int new_size) ...@@ -1282,13 +1282,19 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
static int alloc_buffer(FrameBuffer **pool, AVCodecContext *s, FrameBuffer **pbuf) static int alloc_buffer(FrameBuffer **pool, AVCodecContext *s, FrameBuffer **pbuf)
{ {
FrameBuffer *buf = av_mallocz(sizeof(*buf)); const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->pix_fmt);
FrameBuffer *buf;
int i, ret; int i, ret;
const int pixel_size = av_pix_fmt_descriptors[s->pix_fmt].comp[0].step_minus1+1; int pixel_size;
int h_chroma_shift, v_chroma_shift; int h_chroma_shift, v_chroma_shift;
int edge = 32; // XXX should be avcodec_get_edge_width(), but that fails on svq1 int edge = 32; // XXX should be avcodec_get_edge_width(), but that fails on svq1
int w = s->width, h = s->height; int w = s->width, h = s->height;
if (!desc)
return AVERROR(EINVAL);
pixel_size = desc->comp[0].step_minus1 + 1;
buf = av_mallocz(sizeof(*buf));
if (!buf) if (!buf)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
......
...@@ -80,10 +80,10 @@ static void print_digraph(FILE *outfile, AVFilterGraph *graph) ...@@ -80,10 +80,10 @@ static void print_digraph(FILE *outfile, AVFilterGraph *graph)
fprintf(outfile, "\"%s\" -> \"%s\"", fprintf(outfile, "\"%s\" -> \"%s\"",
filter_ctx_label, dst_filter_ctx_label); filter_ctx_label, dst_filter_ctx_label);
if (link->type == AVMEDIA_TYPE_VIDEO) { if (link->type == AVMEDIA_TYPE_VIDEO) {
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(link->format);
fprintf(outfile, fprintf(outfile,
" [ label= \"fmt:%s w:%d h:%d tb:%d/%d\" ]", " [ label= \"fmt:%s w:%d h:%d tb:%d/%d\" ]",
av_pix_fmt_descriptors[link->format].name, desc->name, link->w, link->h, link->time_base.num,
link->w, link->h, link->time_base.num,
link->time_base.den); link->time_base.den);
} else if (link->type == AVMEDIA_TYPE_AUDIO) { } else if (link->type == AVMEDIA_TYPE_AUDIO) {
char buf[255]; char buf[255];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment