From d0e9415d234f701bed8837f4e315131ea4e84482 Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Wed, 6 Jun 2012 17:12:29 +0100 Subject: [PATCH 1/2] fate: avoid freopen(NULL) in videogen/rotozoom A number of systems do not implement freopen() with a NULL filename correctly. This changes these programs to output individual images if opening a named output argument as a file fails, in this case assuming it is a directory. Signed-off-by: Mans Rullgard --- tests/Makefile | 4 ++-- tests/rotozoom.c | 11 ++++++----- tests/videogen.c | 11 ++++++----- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/tests/Makefile b/tests/Makefile index 5ed1e5eefb..01ff711a37 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -16,10 +16,10 @@ tests/data/asynth-%.wav: tests/audiogen$(HOSTEXESUF) | tests/data $(M)./$< $@ $(subst -, ,$*) tests/data/vsynth1.yuv: tests/videogen$(HOSTEXESUF) | tests/data - $(M)$< >$@ + $(M)$< $@ tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data - $(M)$< $(SRC_PATH)/tests/lena.pnm >$@ + $(M)$< $(SRC_PATH)/tests/lena.pnm $@ tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm: TAG = GEN diff --git a/tests/rotozoom.c b/tests/rotozoom.c index 683e070860..69c88c2e95 100644 --- a/tests/rotozoom.c +++ b/tests/rotozoom.c @@ -158,15 +158,16 @@ int main(int argc, char **argv) { int w, h, i; char buf[1024]; + int isdir = 0; - if (argc > 3) { - printf("usage: %s image.pnm [directory/]\n" + if (argc != 3) { + printf("usage: %s image.pnm file|dir\n" "generate a test video stream\n", argv[0]); return 1; } - if (argc < 3) - err_if(!freopen(NULL, "wb", stdout)); + if (!freopen(argv[2], "wb", stdout)) + isdir = 1; w = DEFAULT_WIDTH; h = DEFAULT_HEIGHT; @@ -181,7 +182,7 @@ int main(int argc, char **argv) for (i = 0; i < DEFAULT_NB_PICT; i++) { gen_image(i, w, h); - if (argc > 2) { + if (isdir) { snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[2], i); pgmyuv_save(buf, w, h, rgb_tab); } else { diff --git a/tests/videogen.c b/tests/videogen.c index 7228bd551c..0b7f67eb18 100644 --- a/tests/videogen.c +++ b/tests/videogen.c @@ -145,15 +145,16 @@ int main(int argc, char **argv) { int w, h, i; char buf[1024]; + int isdir = 0; - if (argc > 2) { - printf("usage: %s [file]\n" + if (argc != 2) { + printf("usage: %s file|dir\n" "generate a test video stream\n", argv[0]); exit(1); } - if (argc < 2) - err_if(!freopen(NULL, "wb", stdout)); + if (!freopen(argv[1], "wb", stdout)) + isdir = 1; w = DEFAULT_WIDTH; h = DEFAULT_HEIGHT; @@ -165,7 +166,7 @@ int main(int argc, char **argv) for (i = 0; i < DEFAULT_NB_PICT; i++) { gen_image(i, w, h); - if (argc > 1) { + if (isdir) { snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[1], i); pgmyuv_save(buf, w, h, rgb_tab); } else { From a8656cd425babe6a2fe12aff826de57f28b8efcd Mon Sep 17 00:00:00 2001 From: Alex Converse Date: Tue, 5 Jun 2012 11:16:06 -0700 Subject: [PATCH 2/2] mpegts: Remove disabled extension matching probe. --- libavformat/mpegts.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 1b3eb8b3d0..ebc5f2c66a 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1825,7 +1825,6 @@ static int handle_packets(MpegTSContext *ts, int nb_packets) static int mpegts_probe(AVProbeData *p) { -#if 1 const int size= p->buf_size; int score, fec_score, dvhs_score; int check_count= size / TS_FEC_PACKET_SIZE; @@ -1844,13 +1843,6 @@ static int mpegts_probe(AVProbeData *p) else if(dvhs_score > score && dvhs_score > fec_score && dvhs_score > 6) return AVPROBE_SCORE_MAX + dvhs_score - CHECK_COUNT; else if( fec_score > 6) return AVPROBE_SCORE_MAX + fec_score - CHECK_COUNT; else return -1; -#else - /* only use the extension for safer guess */ - if (av_match_ext(p->filename, "ts")) - return AVPROBE_SCORE_MAX; - else - return 0; -#endif } /* return the 90kHz PCR and the extension for the 27MHz PCR. return