Commit Graph

663 Commits

Author SHA1 Message Date
Carl Eugen Hoyos
d8ee777021 Do not crash if SDL_SetVideoMode() fails. 2011-06-16 23:21:19 +02:00
Carl Eugen Hoyos
d5708923c2 Move do_exit() and stream_close() up. 2011-06-16 23:20:29 +02:00
Anton Khirnov
d0e142bb68 ffplay: use new avformat_open_* API. 2011-06-16 20:24:57 +02:00
Stefano Sabatini
c535494268 avfiltergraph: make the AVFilterInOut alloc/free API public
This is required for letting applications to create and destroy
AVFilterInOut structs in a convenient way.
2011-06-12 22:46:02 +02:00
Stefano Sabatini
6119b23a36 avfiltergraph: change the syntax of avfilter_graph_parse()
Make it returns the list of open inputs and outputs, so it can be
reused by applications.

Breaks API/ABI.
2011-06-12 22:46:02 +02:00
Michael Niedermayer
d552f616a2 Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  Remove some non-compiling debug messages.
  ffplay: Fix non-compiling debug printf and replace it by av_dlog.
  H264: x86 predict init cosmetics.
  ac3enc: Fix linking of AC-3 encoder without the E-AC-3 encoder.
  Move E-AC-3 encoder functions to a separate eac3enc.c file.
  ac3enc: remove convenience macro, #define DEBUG
  ac3enc: remove unused #define
  vc1: re-initialize tables after width/height change.
  APIchanges: fill-in git commit hash for av_get_bytes_per_sample() addition
  samplefmt: add av_get_bytes_per_sample()
  iirfilter: fix biquad filter coefficients.
  swscale: remove duplicate conversion routine in swScale().
  swscale: add yuv2planar/packed function typedefs.
  swscale: integrate yuv2nv12X_C into yuv2yuvX() function pointers.
  swscale: reindent x86 init code.
  swscale: extract SWS_FULL_CHR_H_INT conditional into init code.
  swscale: cosmetics.
  swscale: remove alp/chr/lumSrcOffset.
  swscale: un-special-case yuv2yuvX16_c().
  shorten: Remove stray DEBUG #define and corresponding av_dlog statement.
  ...

Conflicts:
	doc/APIchanges
	libavcodec/ac3enc.c
	libavutil/avutil.h
	libavutil/samplefmt.c
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-08 05:25:28 +02:00
Stefano Sabatini
8f2a2e6051 ffplay: remove -debug option
The options -loglevel LEVEL -debug FLAGS can be used for achieving the
same objectives, with a finer level of control.
2011-06-08 01:30:52 +02:00
Stefano Sabatini
e77a3095bd ffplay: remove -vismv option
Use -vismv 1 instead. Simplify.
2011-06-08 01:30:52 +02:00
Diego Biurrun
8543f0f923 ffplay: Fix non-compiling debug printf and replace it by av_dlog. 2011-06-08 00:45:25 +02:00
Diego Biurrun
1f6b9cc31d Replace some nonstandard DEBUG_* preprocessor directives by plain DEBUG. 2011-06-07 13:20:58 +02:00
Michael Niedermayer
3a1aaf7b21 ffplay: Fix -vismv
Fixes Ticket164

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-07 03:17:42 +02:00
Stefano Sabatini
b4af3cf347 cmdutils: remove unnecessary OPT_DUMMY implementation
The -i INPUT option can be implemented more cleanly by using a
function option, which can easily be done now that the
parse_arg_function passed to parse_options has a standard signature.
2011-06-05 13:21:06 +02:00
Stefano Sabatini
96f931adf7 cmdutils: change the signature of the function argument in parse_options()
This is required for a pending simplification.
2011-06-05 13:21:02 +02:00
Michael Niedermayer
33af5335fd ffplay: error out with invalid sample rate or channels.
Fixes Ticket119
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-04 00:16:12 +02:00
Carl Eugen Hoyos
25c32d082b cmdutils: move "#undef main" from ffplay.c to cmdutils.h
On Windows/MinGW the SDL cflags re-define the main() function, which
results in a linking error if the define is not undeffed.

Since the addition of the SDL output device, SDL cflags are used also
for compiling ffmpeg and ffprobe, so we need to move this trick from
ffplay.c to a common header.

Fix trac issue .
2011-06-03 17:03:43 +02:00
Clément Bœsch
b443447536 Fix various uninitialized variable warnings 2011-06-02 10:36:56 +02:00
Clément Bœsch
adba9c6352 Fix various unused variable warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-30 00:24:01 +02:00
Stefano Sabatini
eb8bc57240 cmdutils: remove OPT_FUNC2
Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.
2011-05-28 18:23:05 +02:00
Stefano Sabatini
26513856d6 cmdutils: remove OPT_FUNC2
Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-28 09:40:19 -04:00
Michael Niedermayer
027264cb82 Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  ARM: add ARMv6 optimised av_clip_uintp2
  ARM: remove volatile from asm statements in libavutil/intmath
  ARM: fix av_clipl_int32_arm()
  v4l: include avdevice.h
  ffserver: move close_connection() call to avoid a temporary string and copy.
  lavf: initialize demuxer private options.
  AVOptions: set string default values.
  lavdevice: mark v4l for removal on next major bump.
  swscale: fix compile on ppc.
  swscale: fix compile on x86-32.
  build: Remove generated .version file on distclean.
  configure: Add -D_GNU_SOURCE to CPPFLAGS on OS/2.
  doc: Drop hint at --enable-memalign-hack for MinGW, it is now autodetected.
  ffplay: Remove disabled code.
  Mark parameterless function declarations as 'void'.
  swscale: use av_clip_uint8() in yuv2yuv1_c().
  swscale: remove VOF/VOFW.
  swscale: split chroma buffers into separate U/V planes.
  swscale: replace formatConvBuffer[VOF] by allocated array.
  rgb2rgb: remove duplicate mmx/mmx2/3dnow/sse2 functions.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-27 02:53:21 +02:00
Diego Biurrun
6c6c976fa9 ffplay: Remove disabled code. 2011-05-26 16:26:17 +02:00
Justin Ruggles
bc778a0cea Add support for request_sample_format in ffmpeg and ffplay. 2011-05-18 17:27:06 -04:00
Stefano Sabatini
3a7c977417 ffplay: remove audio_write_get_buf_size() forward declaration
Move up the definition of audio_write_get_buf_size(), so that it is
defined before it is used. Simplify.
(cherry picked from commit 8776f3d22e)
2011-05-16 14:13:03 -07:00
Michael Niedermayer
72153419b5 Merge remote branch 'qatar/master'
* qatar/master: (33 commits)
  rtpdec_qdm2: Don't try to parse data packet if no configuration is received
  ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
  ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
  mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
  srtdec: make sure we don't write past the end of buffer
  wmaenc: improve channel count and bitrate error handling in encode_init()
  matroskaenc: make sure we don't produce invalid file with no codec ID
  matroskadec: check that pointers were initialized before accessing them
  lavf: fix function name in compute_pkt_fields2 av_dlog message
  lavf: fix av_find_best_stream when providing a wanted stream.
  lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
  ffmpeg: factorize quality calculation
  tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
  tiff: Prefer enum TiffCompr over int for TiffContext.compr.
  mov: Support edit list atom version 1.
  configure: Enable libpostproc automatically if GPL code is enabled.
  Cosmetics: fix prototypes in oggdec
  oggdec: fix memleak with continuous streams.
  matroskaenc: add missing new line in av_log() call
  dnxhdenc: add AVClass in private context.
  ...

swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.

Conflicts:
	configure
	ffmpeg.c
	libavformat/matroskaenc.c
	libavutil/pixfmt.h
	libswscale/ppc/swscale_template.c
	libswscale/swscale.c
	libswscale/swscale_template.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	tests/fate/h264.mak
	tests/ref/lavfi/pixdesc_le
	tests/ref/lavfi/pixfmts_copy_le
	tests/ref/lavfi/pixfmts_null_le
	tests/ref/lavfi/pixfmts_scale_le
	tests/ref/lavfi/pixfmts_vflip_le

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 04:40:40 +02:00
Diego Biurrun
046f081b46 configure: Do not unconditionally add -D_POSIX_C_SOURCE to CPPFLAGS.
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.

This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually.  It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.

Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems.  We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
2011-05-12 11:41:59 +02:00
Benjamin Larsson
91199cfe55 ffplay: add a dummy option -i so that it is easy to switch between ffmpeg -i "file" and ffplay -i "file".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:36 +02:00
Oskar Arvidsson
6e3ef511d7 Add the notion of pixel size in h264 related functions.
In high bit depth the pixels will not be stored in uint8_t like in the
normal case, but in uint16_t. The pixel size is thus 1 in normal bit
depth and 2 in high bit depth.

Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:33 -04:00
Michael Niedermayer
99119bdffe ffplay: fix null pointer read when codec unavilable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 20:03:04 +02:00
Stefano Sabatini
566666caf3 lavfi: add libavfilter/avcodec.h and avfilter_copy_frame_props()
avfilter_copy_frame_props() avoids code duplication and increases
robustness.

The added files libavfilter/avcodec.[ch] are used for containing
utilities useful for gluing togheter libavfilter and libavcodec.
2011-05-07 12:03:49 +02:00
Michael Niedermayer
175714c0c3 ffplay: set CODEC_FLAG_EMU_EDGE earlier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 15:35:54 +02:00
alexandru_mg3
b93e12fdf4 ffplay: fix memleak if avfilter is disabled 2011-05-05 01:42:53 +02:00
Michael Niedermayer
705c65208a ffplay: removed unused variable channels.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-04 23:33:59 +02:00
Stefano Sabatini
301183d9be replace deprecated av_get_pict_type_char() with av_get_picture_type_char() 2011-05-02 16:41:35 +02:00
Stefano Sabatini
6209669de4 Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 11:24:45 +02:00
Michael Niedermayer
c92a9d069e ffplay: demuxer specific options support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-02 02:58:09 +02:00
Stefano Sabatini
35fe66abbc lavfi: rename AVFilterBufferRefVideoProps.pixel_aspect to sample_aspect_ratio
Improve consistency with libavcodec.

This breaks libavfilter API/ABI.

The non-sequential 2.1.0 -> 2.4.0 bump is due to the mess previously
done with the lavfi minor number.
2011-05-01 13:10:18 +02:00
Stefano Sabatini
77e9dee8ae lavc: add a sample_aspect_ratio field to AVFrame
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
2011-05-01 13:10:06 +02:00
Stefano Sabatini
1ba5727242 lavc: add a pkt_pos field to AVFrame
This is similar to what was done with pkt_pts. This simplifies the
operation of extracting the pos information from the AVPacket, and
allows further simplifications.
2011-05-01 13:09:58 +02:00
Diego Biurrun
045dd4b928 Replace some commented-out debug printf() / av_log() messages with av_dlog(). 2011-04-29 17:27:01 +02:00
Stefano Sabatini
c2606259de ffplay: move output_picture() code to queue_picture()
Move output_picture() code to queue_picture(), and remove it.
Simplify code path.
2011-04-27 11:31:10 +02:00
Stefano Sabatini
4a22ea4da1 ffplay: rename video_refresh_timer() to video_refresh()
The new name is shorter and less confusing.
2011-04-27 11:26:53 +02:00
Stefano Sabatini
8adf9bb2cb ffplay: rename decode_thread to read_thread, parse_tid to read_tid
The new names are less misleading and more reciprocally consistent.
2011-04-27 11:25:11 +02:00
Stefano Sabatini
1d6c82d405 ffplay: fix logic for selecting the show mode in case of missing video
Also automatically select the show mode only if not specified by the
user.

Fix trac issue .

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-25 22:45:17 +02:00
Stefano Sabatini
54ad8e06f4 ffplay: name ShowMode enum
Help debugging with GDB, maybe cleaner/safer.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-25 22:45:12 +02:00
Stefano Sabatini
69f58958ce ffplay: avoid SIGFPE exception in SDL_DisplayYUVOverlay
In video_image_display(), fix exception occurring when the size of the
rectangle passed to SDL_DisplayYUVOverlay() is 0x0, which happens when
interactively resizing the SDL window.
This is done by forcing the minimum size to 1x1.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-24 23:10:26 +02:00
Michael Niedermayer
7b376b398a Merge remote branch 'qatar/master'
* qatar/master:
  Handle unicode file names on windows
  rtp: Rename the open/close functions to alloc/free
  Lowercase all ff* program names.
  Refer to ff* tools by their lowercase names.
NOT Pulled  Replace more FFmpeg instances by Libav or ffmpeg.
  Replace `` by $() syntax in shell scripts.
  patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled  Remove stray libavcore and _g binary references.
  vorbis: Rename decoder/encoder files to follow general file naming scheme.
  aacenc: Fix whitespace after last commit.
  cook: Fix small typo in av_log_ask_for_sample message.
  aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
  Remove RDFT dependency from AAC decoder.
  Add some debug log messages to AAC extradata
  Fix mov debug (u)int64_t format strings.
  bswap: use native types for av_bwap16().
  doc: FLV muxing is supported.
  applehttp: Handle AES-128 encrypted streams
  Add a protocol handler for AES CBC decryption with PKCS7 padding
  doc: Mention that DragonFly BSD requires __BSD_VISIBLE set

Conflicts:
	ffplay.c
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24 03:41:22 +02:00
Diego Biurrun
89b503b55f Lowercase all ff* program names. 2011-04-23 19:12:24 +02:00
Stefano Sabatini
539647c6ff ffplay: factorize code calling output_packet() in video_thread()
Slightly simplify.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-23 12:49:04 +02:00
Stefano Sabatini
c632a1c205 ffplay: remove reference to unused QETimer symbol
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-23 12:48:55 +02:00
Stefano Sabatini
ab7fdbab00 ffplay: rename stream_pause() to stream_toggle_pause()
The new name is less misleading, since the function will resume the
stream if it is currently paused.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-23 12:48:48 +02:00
Michael Niedermayer
efb5fa79f5 Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
  In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
  lavc: remove reference to opt.h from Makefile.
  prefer avio_check() over url_exist()
  avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
  lavu: remove misc disabled cruft
  lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED  lavu: remove FF_API_OLD_EVAL_NAMES cruft
  lavc: remove misc disabled cruft.
  lavc: remove the FF_API_INOFFICIAL cruft.
  lavc: remove the FF_API_SET_STRING_OLD cruft.
  lavc: remove the FF_API_USE_LPC cruft.
  lavc: remove the FF_API_SUBTITLE_OLD cruft.
  lavc: remove the FF_API_VIDEO_OLD cruft.
  lavc: remove the FF_API_AUDIO_OLD cruft.
  lavc: remove the FF_API_OPT_SHOW cruft.
  lavc: remove the FF_API_MM_FLAGS cruft.
  lavf: remove misc disabled cruft.
  lavf: remove FF_API_INDEX_BUILT cruft
  lavf: remove FF_API_URL_CLASS cruft.
  lavf: remove FF_API_SYMVER cruft
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Anton Khirnov
41d0eb1c81 lavc: remove the FF_API_SET_STRING_OLD cruft. 2011-04-19 18:41:00 +02:00
Stefano Sabatini
f521746b83 ffplay: implement -showmode option
The new option allows to select the starting show mode.
2011-04-13 10:06:27 +02:00
Stefano Sabatini
f8b8c694e9 ffplay: use symbolic constant values for show_audio
Also rename VideoState->show_audio to show_mode.
Improve readability.
2011-04-13 10:06:27 +02:00
Stefano Sabatini
8776f3d22e ffplay: remove audio_write_get_buf_size() forward declaration
Move up the definition of audio_write_get_buf_size(), so that it is
defined before it is used. Simplify.
2011-04-13 10:06:27 +02:00
Stefano Sabatini
a6f395d6c5 ffplay: avoid unnecessary intermediary struct in queue_picture()
When CONFIG_AVFILTER, use a AVFrame -> AVPicture cast rather than
explicitely copy the image information from AVFrame to a new
AVPicture.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-13 10:06:27 +02:00
Stefano Sabatini
c1d4bb5731 ffplay: remove unused field VideoState.dtg_active_format
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-13 10:06:27 +02:00
Carl Eugen Hoyos
05d33d8655 Fix compilation with --disable-avfilter. 2011-04-13 09:58:31 +02:00
Stefano Sabatini
df149f6ce8 ffplay: fix weird brace placement in video_image_display()
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-12 01:37:00 +02:00
Stefano Sabatini
3338be24e8 ffplay: rename output_picture2() to output_picture()
The "2" suffix is confusing.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-12 01:37:00 +02:00
Stefano Sabatini
1979d3b8a5 ffplay: remove useless intermediary variable dst_pix_fmt in queue_picture()
Simplify.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-12 01:37:00 +02:00
Stefano Sabatini
eef1696628 ffplay: avoid forward declaration for packet_queue_put()
Define the function before it is used. Simplify.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-12 01:37:00 +02:00
Stefano Sabatini
91b27e49d6 ffplay: compact expression in compute_mod()
Prefer "return X ? Y : Z" over "if (x) return Y; else return Z",
reduce line count.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-12 01:23:43 +02:00
Oskar Arvidsson
dc172ecc6e Add the notion of pixel size in h264 related functions.
In high bit depth the pixels will not be stored in uint8_t like in the
normal case, but in uint16_t. The pixel size is thus 1 in normal bit
depth and 2 in high bit depth.

Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:41 +02:00
Michael Niedermayer
c88caa522c Merge remote branch 'qatar/master'
* qatar/master:
  proto: include os_support.h in network.h
  matroskaenc: don't write an empty Cues element.
  lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
  avio: move extern url_interrupt_cb declaration from avio.h to url.h
  avio: make av_register_protocol2 internal.
  avio: avio_ prefix for url_set_interrupt_cb.
  avio: AVIO_ prefixes for URL_ open flags.
  proto: introduce listen option in tcp
  doc: clarify configure features
  proto: factor ff_network_wait_fd and use it on udp

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08 02:50:13 +02:00
Michael Niedermayer
f6d71b3942 ffplay: Set EMU_EDGE if dr1, this is an alternative fix for ticket40.
Idea borrowed from mplayer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08 00:20:18 +02:00
Anton Khirnov
80c6e238b0 avio: avio_ prefix for url_set_interrupt_cb. 2011-04-07 18:11:24 +02:00
Michael Niedermayer
9f8008a981 move image check down in ffplay.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-07 01:48:47 +02:00
Michael Niedermayer
454fab721a Disable dr1 in ffplay for svq1 (fixes ticket40)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 23:46:37 +02:00
Michael Niedermayer
8bce71dff5 Check sizes a bit in ffplay, cant hurt.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 23:39:57 +02:00
Martin Storsjö
648c79624f ffplay: Don't assume ic->pb is non-null
This fixes crashes on exit when plaing some RealRTSP streams
(among other), e.g.
rtsp://dl.lib.brown.edu:554/areserves/1093545294660883.mp3.
These crashes have been present since 3e68b3ba7b.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-21 15:08:09 -04:00
Stefano Sabatini
c743a5e287 ffplay: add braces around union definition
Fix warning:
ffplay.c: At top level:
ffplay.c:3027: warning: missing braces around initializer
ffplay.c:3027: warning: (near initialization for ‘options[53].u’)
2011-03-19 17:30:35 +01:00
Stefano Sabatini
eb4d1cb90e ffplay: add existence check on ic->pb in decode_thread()
Fix crash if ic->pb is NULL and ic->pb->error is evaluated. This
happens for example with: ffplay photo.jpeg.
2011-03-19 17:30:35 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Michael Niedermayer
6947b0c42e Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-15 16:48:42 +01:00
Anton Khirnov
3e68b3ba7b avio: deprecate url_ferror
AVIOContext.error should be used directly instead.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-15 08:04:28 -04:00
Michael Niedermayer
0b82612d35 ffplay: Continue if the file was appended to.
This is a bit experimental

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-10 19:57:45 +01:00
Benjamin Larsson
76d4c1676f Add a dummy option -i to ffplay so that it is easy to switch between ffmpeg -i "file" and ffplay -i "file".
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-08 17:34:02 +01:00
Anton Khirnov
db44ea960d avio: avio_ prefix for url_fsize
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 76aa876e69)
2011-03-08 02:09:21 +01:00
Anton Khirnov
66e5b1df36 avio: deprecate url_feof
AVIOContext.eof_reached should be used directly instead.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 17:20:31 -05:00
Anton Khirnov
76aa876e69 avio: avio_ prefix for url_fsize
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 11:03:39 -05:00
Anton Khirnov
384c9c2fa7 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit a2704c9712)
2011-03-05 02:29:31 +01:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov
0ebf475494 lavf: add av_ prefix to dump_format()
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 610219a598)
2011-02-18 19:52:28 +01:00
Anton Khirnov
610219a598 lavf: add av_ prefix to dump_format()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 23:39:56 +00:00
Reinhard Tartler
7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Stefano Sabatini
9d375bf5ec Remove disabled legacy code in ffplay.
The code was setting aspect ratio from the DTG active format, and was
present and disabled since the creation of ffplay.

See thread:
Subject: [FFmpeg-devel] [PATCH] Cosmetics: adopt compact notation in
        disabled code.
Date: Sat, 12 Feb 2011 18:46:19 +0100

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit b7ec5cc401)
2011-02-14 23:58:21 +01:00
Stefano Sabatini
b7ec5cc401 Remove disabled legacy code in ffplay.
The code was setting aspect ratio from the DTG active format, and was
present and disabled since the creation of ffplay.

See thread:
Subject: [FFmpeg-devel] [PATCH] Cosmetics: adopt compact notation in
        disabled code.
Date: Sat, 12 Feb 2011 18:46:19 +0100

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 12:11:56 +00:00
Nicolas George
d6705a27d8 ffplay: stats: do not dereference NULL video
Also: cosmetic: split this overly long line
2011-02-11 18:59:52 +01:00
Alexander Strange
043d2ff267 Deprecate avcodec_thread_init()
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.

avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.

Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit c0b102ca03)
2011-02-11 02:54:08 +01:00
Alexander Strange
b38f008ea6 Frame-based multithreading framework using pthreads
See doc/multithreading.txt for details on use in codecs.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-11 02:53:58 +01:00
Alexander Strange
c0b102ca03 Deprecate avcodec_thread_init()
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.

avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.

Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 09:17:28 -05:00
Alexander Strange
37b00b47cb Frame-based multithreading framework using pthreads
See doc/multithreading.txt for details on use in codecs.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 09:17:28 -05:00
Nicolas George
76ad67cae7 Implement guessed_pts in avcodec_decode_video2
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-07 19:32:07 +01:00
Alexander Strange
fd0ae17aaf Adopt pkt_dts/pkt_pts in lavc clients
No behavior change; this makes DTS reliable with the next patch.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b47495397)
2011-02-06 20:31:45 +01:00
Stefano Sabatini
ab543afe47 Make avfilter_graph_free() free the graph.
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.

Simplify usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4359288c56)
2011-02-06 20:31:42 +01:00
Alexander Strange
6b47495397 Adopt pkt_dts/pkt_pts in lavc clients
No behavior change; this makes DTS reliable with the next patch.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 16:37:43 -05:00
Stefano Sabatini
4359288c56 Make avfilter_graph_free() free the graph.
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.

Simplify usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-04 02:55:11 +00:00
Stefano Sabatini
8904a0f1ee ffplay: factorize code from video_thread() into configure_video_filters()
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 75ea596de1)
2011-02-04 03:08:09 +01:00
Stefano Sabatini
75ea596de1 ffplay: factorize code from video_thread() into configure_video_filters()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 12:09:46 +00:00
Stefano Sabatini
2fa1d7b3be In ffplay:get_video_frame(), use frame->pkt_pts rather than reordered_opaque.
AVCodecContext.reordered_opaque is deprecated for this specific use.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 2855080447)
2011-01-31 18:25:45 +01:00
Stefano Sabatini
97b925ea81 ffplay: in video_thread(), use av_dlog() for timestamp logging.
Disable logging of rescaled timestamps if DEBUG is not enabled.
Avoid debug log spamming with -loglevel debug.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 13156f40e1)
2011-01-31 18:25:45 +01:00
Stefano Sabatini
2855080447 In ffplay:get_video_frame(), use frame->pkt_pts rather than reordered_opaque.
AVCodecContext.reordered_opaque is deprecated for this specific use.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-30 19:02:19 +00:00
Stefano Sabatini
13156f40e1 ffplay: in video_thread(), use av_dlog() for timestamp logging.
Disable logging of rescaled timestamps if DEBUG is not enabled.
Avoid debug log spamming with -loglevel debug.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-30 17:52:01 +00:00
Stefano Sabatini
22f73157b7 Remove outdated and confusing comment.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit db2ddd3885)
2011-01-23 19:32:07 +01:00
Stefano Sabatini
db2ddd3885 Remove outdated and confusing comment.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 13:06:06 +00:00
Stefano Sabatini
d72858f89f Merge two if (got_picture) {} blocks in ffplay.c:get_video_frame(). 2011-01-17 22:31:11 +01:00
Stefano Sabatini
8f83a3b054 Remove outcommented fossil code. 2011-01-17 22:04:06 +01:00
Stefano Sabatini
199c18a784 Fix weird indent in get_video_frame().
Originally committed as revision 26390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-16 17:26:00 +00:00
Stefano Sabatini
24d13ebc15 Reindent after the last commit.
Originally committed as revision 26372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 17:21:12 +00:00
Stefano Sabatini
112c4b8796 In ffplay, do not open display if -nodisp is set.
Fixes issue 1017.

Originally committed as revision 26371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 17:21:09 +00:00
Stefano Sabatini
d881a0e895 Cosmetics: fix weird indent.
Originally committed as revision 26350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 01:28:00 +00:00
Michael Niedermayer
393cbb963b Add AVFrame.pkt_pts that contains the correctly reordered AVPacket.pts
Originally committed as revision 26260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-07 23:07:24 +00:00
Nicolas George
be732b7089 Fix ffplay -an/-vn options that were swapped by r26105.
Originally committed as revision 26115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-28 09:52:31 +00:00
Michael Niedermayer
0ccabeeaef Support filters and decoders that dont support negative linesizes.
This patch is based on work by stefano.

Originally committed as revision 26108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 15:10:21 +00:00
Nicolas George
406f0f1bcf Use av_find_best_stream in ffplay.
Originally committed as revision 26105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 09:08:36 +00:00
Stefano Sabatini
037be76e15 Add avfilter_graph_create_filter().
Originally committed as revision 25862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-02 20:12:27 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Stefano Sabatini
1e80a0eaa4 Remove graphparser.h header, move AVFilterInOut and
avfilter_graph_parse() declaration to libavfilter/avfiltergraph.h.

Simplify, and less confusing for the user.

Originally committed as revision 25705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 22:56:29 +00:00
Stefano Sabatini
7313132bcc Rename AVFilterInOut field filter to filter_ctx, more semantically correct.
Originally committed as revision 25700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:18 +00:00
Stefano Sabatini
97dd1e4a87 Rename avfilter_graph_destroy() to avfilter_graph_free().
The new name is shorter and more consistent with the rest of the API.

This change breaks libavfilter API/ABI.

Originally committed as revision 25674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 20:34:24 +00:00
Stefano Sabatini
e15aeea656 Implement avfilter_graph_alloc().
Originally committed as revision 25673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 20:34:19 +00:00
Stefano Sabatini
ba7d6e798e Remove usage of deprecated libavcodec/audioconvert.h functions.
Originally committed as revision 25668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:19:34 +00:00
Stefano Sabatini
ff0652e503 Implement a common get_filtered_video_frame(), shared between ffplay.c
and ffmpeg.c.

Originally committed as revision 25520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 13:57:11 +00:00
Stefano Sabatini
2a24df9357 Add avfilter_graph_config().
Originally committed as revision 25502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 10:20:53 +00:00
Stefano Sabatini
f7ead94c69 Factorize definition of the output_filter defined in both ffplay.c and
ffmpeg.c.
Replace it with a more generic definition which can be shared.

Originally committed as revision 25453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:40:26 +00:00
Stefano Sabatini
387b4ac993 Fix timebase handling at the begin and at the end of the ffplay video
filterchain.

Set timebase in the ffplay input, and make get_filtered_video_frame()
rescale the output frames PTSes according to their timebase.

Originally committed as revision 25450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:40:16 +00:00
Stefano Sabatini
72ae4aa189 Do not pass an unused variable when initing filt_out. Less confusing.
Originally committed as revision 25448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 13:47:29 +00:00
Michael Chinen
27d97fded3 Fix ffplay to keep calling av_read_frame even if EOF has been reached.
Patch by Michael Chinen, mchinen gmail

Originally committed as revision 25426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-09 17:50:17 +00:00
Reimar Döffinger
a5c33faacc Add init and uninit functions to cmdutils, reduces code duplication
between ffmpeg and ffplay and avoids a valgrind error by freeing
avformat_opts->key.

Originally committed as revision 25309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 08:44:33 +00:00
Michael Niedermayer
0093ebc20a User application side of Codec specific parameters.
Originally committed as revision 25266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 23:06:51 +00:00
Alexander Strange
7a8bfa5d67 Extract timestamp correction code from ffplay.c to cmdutils.c
Originally committed as revision 25241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 02:05:12 +00:00
Michael Niedermayer
6b6bca6443 Enable AV_LOG_SKIP_REPEATED to maintain previous behavior.
Originally committed as revision 25175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 15:39:10 +00:00
Stefano Sabatini
f66eb58ec4 Make ffplay -h show the settable AVOptions.
Originally committed as revision 25167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 00:51:43 +00:00
Stefano Sabatini
4afbcf46c9 Reindent.
Originally committed as revision 25068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:59 +00:00
Stefano Sabatini
34017fd9b2 Move av_picture_data_copy() to libavcore, and rename it
av_image_copy().

Originally committed as revision 25067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:55 +00:00
Dave Yeo
91880e4664 Add _XOPEN_SOURCE definition for usleep().
patch by Dave Yeo, daveryeo telus net

Originally committed as revision 24893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 21:12:34 +00:00
Carl Eugen Hoyos
aa78a6d657 Mention lowres if SDL can't provide the needed resolution.
Originally committed as revision 24802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 08:13:14 +00:00
Mike Scheutzow
cb036f905f Fix SDL crash on specific hardware.
Patch by Mike Scheutzow, mjs973 optonline net

Originally committed as revision 24801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 07:47:44 +00:00
Mike Scheutzow
f7b8c81460 Move do_exit() up for upcoming patch.
Patch by Mike Scheutzow, mjs973 optonline net

Originally committed as revision 24800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 07:46:09 +00:00
S.N. Hemanth Meenakshisundaram
c1db7bff66 Resize data and linesize in AVFilterBufferRef to 8.
This is required to make AVFilterBufferRef able to contain also audio
data, required by audio filtering integration.

Patch by S.N. Hemanth Meenakshisundaram smeen?ks@ucsd.ed?.

Originally committed as revision 24773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 15:25:42 +00:00
Stefano Sabatini
84c0386960 Change avfilter_open() signature, from:
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name);
to:
int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

This way it is possible to propagate an error code telling the reason
of the failure.

Originally committed as revision 24765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:44:51 +00:00
S.N. Hemanth Meenakshisundaram
cc80caff52 Separate video specific BufferRef properties into VideoProps.
Define a new struct AVFilterBufferRefVideoProps and add a type field
to AVFilterBufferRef.

Video specific properties in AVFilterBufferRefVideoProps are now
referred to by *video pointer in AVFilterBufferRef.

Patch by S.N. Hemanth Meenakshisundaram smeenaks->ucsd.edu.

Originally committed as revision 24763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:06:04 +00:00
S.N. Hemanth Meenakshisundaram
5d4890d73d Rename fields:
AVFilterLink.srcpic    ->  AVFilterLink.src_buf
AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
AVFilterLink.outpic    ->  AVFilterLink.out_buf

The new names are more generic and more consistent, since the struct
they contain, which was named AVFilterPicRef, has been renamed to
AVFilterBufferRef.

Patch by S.N. Hemanth Meenakshisundaram %smeenaks%ucsd%edu%.

Originally committed as revision 24732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:34 +00:00
S.N. Hemanth Meenakshisundaram
7fce481a69 Rename functions and fields:
avfilter_(un)ref_pic       -> avfilter_(un)ref_buffer
avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
AVFilterBufferRef.pic      -> AVFilterBufferRef.buffer

They have been renamed to allow sharing with audio.

Patch by S.N. Hemanth Meenakshisundaram $smeenaks$ucsd$edu$.

Originally committed as revision 24731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:27 +00:00
S.N. Hemanth Meenakshisundaram
ecc8dada37 Rename AVFilterPicRef to AVFilterBufferRef.
The struct is going to be used for storing audio buffer references as
well, and the new name is more generic.

Patch by S.N. Hemanth Meenakshisundaram @smeenaks@ucsd@edu@.

Originally committed as revision 24730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:19 +00:00
S.N. Hemanth Meenakshisundaram
d54e0948e0 Move format from AVFilterBuffer to AVFilterPicRef.
Patch by S.N. Hemanth Meenakshisundaram |smeenaks|ucsd|edu|.

Originally committed as revision 24728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 00:02:26 +00:00
Stefano Sabatini
126b638ea0 Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.

This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.

Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 23:12:28 +00:00
Reimar Döffinger
e1d7c8831c Add avsubtitle_free function.
Originally committed as revision 24185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:35:00 +00:00
Jai Menon
00f72577ad FFplay : Fix segfault when playing monoaural streams.
Originally committed as revision 24090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 18:14:58 +00:00
Alexei Svitkine
066ce8c93d Implement -onkeydown and -onmousedown options for ffplay.
Patch by Alexei Svitkine cout << name << "." << surname << "@" << "gmail.com".

See thread:
Subject: [FFmpeg-devel] new command-line option for ffplay
Date: Wed, 23 Jun 2010 09:13:50 -0400

Originally committed as revision 24037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 12:43:12 +00:00
Jai Menon
cfb7e6e6d5 FFplay : Copy all AVFrame fields from the reference picture to the
requested buffer.

Originally committed as revision 24032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 21:20:32 +00:00
Stefano Sabatini
2b4abbd6f5 Move colorspace.h from libavcodec to libavutil.
Avoid a compile-time dependency of the pad filter on libavcodec.

Originally committed as revision 23940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 18:49:44 +00:00
Måns Rullgård
7dbbf6a14a ffplay: remove VLA
Originally committed as revision 23892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 22:41:20 +00:00
Michael Niedermayer
867ab7fb0a Fix pts reordering code.
This fixes a regression introduced when libavfilter support was added to ffplay.

Originally committed as revision 23343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 00:31:45 +00:00
Jai Menon
12bd3c1f99 FFplay : Implement custom reget_buffer for the input filter.
Originally committed as revision 23287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 14:19:44 +00:00
Jai Menon
e53ca636d9 Cosmetics : re-indent after last commit.
Originally committed as revision 23265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 19:14:59 +00:00
Jai Menon
3635c07bd1 FFplay : Avoid manipulating NULL data pointers so that future checks
remain valid. This fixes segfaults for those cases where data copy to
this invalid pointer is attempted.

Originally committed as revision 23264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 19:13:17 +00:00
François Revol
65929418f5 Avoid mixed declaration and code, fix C89 compatibility.
Patch by François Revol revol free fr.

Originally committed as revision 23143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-15 17:34:45 +00:00
Baptiste Coudurier
09ed11e58c rename -vfilters cli option to -vf in ffplay as well
Originally committed as revision 23104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-12 23:18:12 +00:00
Stefano Sabatini
3f073fa22c Fix auto-scaling.
Use the numeric value assigned to sws_flags for the sws_flags set in
the graph, rather than the string "bilinear", which is not even
parsable by the scale filter.

Originally committed as revision 23060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-08 21:39:57 +00:00
Cyril Russo
9b157b0ccd Fix compilation error of ffmpeg and ffplay with --disable-avdevice.
Patch by Cyril Russo, stage D nexvision A laposte net

Originally committed as revision 22940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 08:55:23 +00:00
Jai Menon
79f8b328cd ffplay : Add 's' to the list of supported commands.
Originally committed as revision 22823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-09 17:52:34 +00:00
Robert Krüger
d834d63b0e Add -t option to ffplay.
Patch by Robert Krüger, krueger signal7 de

Originally committed as revision 22764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 20:56:23 +00:00
Bobby Bingham
cf097cbc0b Cosmetics: indentation
Originally committed as revision 22756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:27 +00:00
Bobby Bingham
c41c5b02d3 Don't create unnecessary refereces to pictures
Originally committed as revision 22755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:25 +00:00
Bobby Bingham
dd0c789be7 Hook decoder up to libavfilter's direct rendering for ffplay
Originally committed as revision 22754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:21 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Robert Krüger
1922c0a773 Add a loop option to ffplay.
Patch by Robert Krüger, krueger signal7 de

Originally committed as revision 22646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 17:39:51 +00:00
Diego Biurrun
4903b5ca35 Move variable declaration, fixes the warning:
ffplay.c:1703: warning: unused variable `pos'

Originally committed as revision 22611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 21:39:50 +00:00
Robert Krüger
076db5ed57 Add a -window_title option, which sets the FFplay window title.
Patch by Robert Krüger "krueger ET signal7 DOT de".

Originally committed as revision 22588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 23:39:18 +00:00
Stefano Sabatini
bb4095133f Make ffplay pass the packet.pos information to the filterchain, get it
again from the filterchain and pass it back to output_picture2().

Originally committed as revision 22507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 11:27:07 +00:00
Michael Niedermayer
382f3a5b6f Print skip_frames variable.
Originally committed as revision 22482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 15:12:05 +00:00
Michael Niedermayer
2b3da32f74 Make rdft speed user configureable.
Change default speed back to a slower variant.

Originally committed as revision 22467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 11:25:51 +00:00
Michael Niedermayer
d38c9e7a91 Implement framedrop.
Replace SDL timer by a seperate thread, more accurate and less annoying.
frame drop is enabled by default, bug reports welcome.
Fixes issue1191

Originally committed as revision 22452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:35:04 +00:00
Måns Rullgård
8a3ceaf4f0 ffplay: use correct format specifiers in printf()
Originally committed as revision 22447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:32:03 +00:00
Michael Niedermayer
122dcdcb31 Fix some apparent +- errors in the audio vissualization.
The bugs become only vissible at higher time resolution than what is
used currently.

Originally committed as revision 22442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 22:43:23 +00:00
Michael Niedermayer
d9427e848e Only reschedule refresh if we successfully removed the scheduled one.
Fixes some spurious error messages.

Originally committed as revision 22435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 16:11:02 +00:00
Michael Niedermayer
562f382cab Increase VIDEO_PICTURE_QUEUE_SIZE to 2.
this allows more asynchronous decoding and display thus improving
video smoothness.
It also seems to improve absolute video decoding speed for some reason

Originally committed as revision 22434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 15:45:46 +00:00
Michael Niedermayer
d3d7b12edf Do not call SDL_SetVideoMode() with the same size as previously
as this blanks the window.

Originally committed as revision 22433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 15:39:31 +00:00
Måns Rullgård
6580d5e377 Remove hacks not required since HAVE_AV_CONFIG_H was unset for the apps
Originally committed as revision 22295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:37 +00:00
Måns Rullgård
166621ab72 ffplay: use public fft interface
Originally committed as revision 22292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:56:48 +00:00
Måns Rullgård
41ea18fb0d Give RDFT types more meaningful names
Originally committed as revision 22290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:47:44 +00:00
Stefano Sabatini
ff358eca17 Reindent after the last commit.
Originally committed as revision 22248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:19:13 +00:00
Stefano Sabatini
fd9da2527c Use av_get_pict_type_char() in debug code within output_picture2(),
simplify.

Originally committed as revision 22247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:19:11 +00:00
Måns Rullgård
1429224b04 Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +00:00
Michael Niedermayer
3966a57464 10l fix timestamps (lavfi update broke them)
Originally committed as revision 22218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 03:54:39 +00:00
Michael Niedermayer
fca6259942 Fix 100l pkt->pos typo.
Originally committed as revision 22217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 03:34:47 +00:00
Michael Niedermayer
917d2bb348 Libavfilter for ffplay support.
This still needs some minor work here and there but should be already functional.
Note that the code pathes that are under "not avfilter" ifdefs as well as the
ifdefs will be droped as soon as all major issues have been det with, aka could
be real soon or not.

Originally committed as revision 22216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 02:20:10 +00:00
David Conrad
8ef9484023 Just ignore streams with unknown codec_type instead of exiting
Originally committed as revision 22213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 00:22:37 +00:00
Stefano Sabatini
07a70b3825 Add a check for checking if more than one input file is provided to
ffplay, make it complain and abort in that case as just one input file
is currently supported.

Originally committed as revision 22139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 23:10:27 +00:00
Ramiro Polla
bc77fce6ba Clear freed pointer in ffplay.c.
Fixes a crash when audio stream is cycled twice.

Originally committed as revision 22026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 14:45:18 +00:00
Michael Niedermayer
9f7490a09c Also favor streams with more packets in ffplay.
Originally committed as revision 22008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 17:35:44 +00:00
Michael Niedermayer
256ab3ed9d Dont modify wanted_stream.
Originally committed as revision 22007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 17:09:53 +00:00
Michael Niedermayer
5b369983c6 replace wanted_*_stream by wanted_stream[CODEC_TYPE]
Originally committed as revision 22006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:56:23 +00:00
Michael Niedermayer
6625a3de2a Replace *_index by st_index[codec_type].
Originally committed as revision 22003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:46:40 +00:00
Stefano Sabatini
f05ef45c8f Use the official FFmpeg spelling: "ffmpeg" -> "FFmpeg".
Originally committed as revision 21935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 11:35:17 +00:00
Michael Niedermayer
077a8d61c0 fix issue 1747
Originally committed as revision 21874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 00:19:50 +00:00
Stefano Sabatini
fe74099aee Rename the "enc" variable, which refers to the AVCodecContext of a
decoder, to "avctx".

See the thread:
Subject: [FFmpeg-devel] [PATCH] enc is not a good name for a decoder context
Date: Mon, 28 Dec 2009 22:56:25 +0100

Originally committed as revision 21855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 22:38:43 +00:00
Jai Menon
6c7165c72e cosmetics : re-indent after r21639.
Originally committed as revision 21658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 13:15:15 +00:00
Stefano Sabatini
570da52bac Remove unused variable ref_clock, fix the warning:
ffplay.c: In function ‘compute_frame_delay’:
ffplay.c:1064: warning: unused variable ‘ref_clock’

Originally committed as revision 21649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 00:05:38 +00:00
Michael Niedermayer
bf8ae197b6 make the RDFT vissualizatiom default, the scopes are ugly and eat CPU like
piranhas.

Originally committed as revision 21646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 15:26:42 +00:00
Michael Niedermayer
4c7c76456d Make sure the rdft has enough audio available.
10l (looks cleaner now)

Originally committed as revision 21645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 15:16:38 +00:00
Michael Niedermayer
092421cf0e Scale rdft vissualization up by 2 so theres no unused space on the top
but rather the unimportant high frequencies are cut off if the window is
not a multiple of 2 high.

Originally committed as revision 21641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 11:25:58 +00:00
Vitor Sessak
674fe16371 Do not segfault when doing "ffplay -h"
Originally committed as revision 21640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 04:42:20 +00:00
Michael Niedermayer
12eeda342a Pretty RDFT audio visualization.
Originally committed as revision 21639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 02:06:38 +00:00
Michael Niedermayer
d52ec0029b Fast seeking.
Try clicking with the mouse in the window, hold the button and drag.

Originally committed as revision 21638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 00:37:39 +00:00
Michael Niedermayer
2d1653b065 autoexit
implements issue1019

Originally committed as revision 21634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 01:54:24 +00:00
Michael Niedermayer
f5968788bb Clean after toggling wave.
Fixes issue1180.

Originally committed as revision 21632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:34:06 +00:00
Michael Niedermayer
b25453bdfc Move is->frame_timer init from start to flush_pkt handling so it is also
done on seeking. This fixes the bug where after reaching the end and waiting
a few seconds seeking back to the begin messes up AV sync and playback speed.

Originally committed as revision 21629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 21:33:31 +00:00
Michael Niedermayer
566cd2cba1 The convertion between bit and byte is 8 not 60.
Fixes wrong cursor key seek distances.

Originally committed as revision 21627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 15:19:19 +00:00
Michael Niedermayer
f04c6e35d4 Compare the correct clocks for syncing video to audio/ext.
Fixes initial delay on video from issue1134.

Originally committed as revision 21618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 23:22:35 +00:00
Michael Niedermayer
48ff3f7cc8 Move the initial refresh scheduling for audio display away from where it
can interfere with video.

Originally committed as revision 21616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 22:43:09 +00:00
Michael Niedermayer
a3cc2160e0 Commit disapeared hunk, must have editied this out by mistake between local debug statements.
This should fix seeking in TS.

Originally committed as revision 21614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 21:31:20 +00:00
Michael Niedermayer
70a4764d0e Autodetect when byte based seeking is better (that is for all formats that allow
discontinuities)
Fixes issue1090

Originally committed as revision 21606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 18:02:16 +00:00
Michael Niedermayer
1a620dd79e Use currently displayed file position instead of just url_ftell() for seeking by bytes.
This fixes seeking back with the cursor keys and -bytes.

Originally committed as revision 21605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 16:51:02 +00:00
Michael Niedermayer
3890dd3a5c Fix seek flags
Originally committed as revision 21603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 16:01:22 +00:00
Stefano Sabatini
ecbed31c00 Use parentheses around && within ||, fix the gcc warning:
ffplay.c: In function ‘video_thread’:
ffplay.c:1391: warning: suggest parentheses around && within ||

Originally committed as revision 21600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 22:23:17 +00:00
Stefano Sabatini
df7d6e484c Reindent.
Originally committed as revision 21599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 22:17:15 +00:00
Michael Niedermayer
99e0b12bd7 Make sure the faulty timestamp detection is just done when we have a picture
from the decoder.

Originally committed as revision 21593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 13:03:46 +00:00
Michael Niedermayer
f7119e42e1 Reset frame_last_delay to 0.
This avoids a few ms delay for the first frame after a seek in theory.

Originally committed as revision 21592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:31:28 +00:00
Michael Niedermayer
acf24b870f Move frame_last_delay into flush code as it must be reset on seeks to,
otherwise the first frame after a seek would be delayed by that amount.

Originally committed as revision 21591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:30:14 +00:00
Michael Niedermayer
967030eb24 Reset frame_last_pts on flush (and thus also at start)
fixes issue558 and probably others.

Originally committed as revision 21590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:27:26 +00:00
Michael Niedermayer
515bd00e65 Insert a flush packet into the que on init, that way common code between
flush and init can be put into the flush handling.

Originally committed as revision 21589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:22:12 +00:00
Michael Niedermayer
6c7d3ead79 "Flush" the picture que on seeks, this prevents the display thread from
having frames from before and after the seek which just isnt a good idea.

Originally committed as revision 21588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:19:28 +00:00
Michael Niedermayer
b8bb398a40 Schedule refreshes from a thread that actually knows the PTS.
Fixes wernfried_1.avi

Originally committed as revision 21586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 11:30:31 +00:00
Michael Niedermayer
68aefbe81c Fix race condition with reading between video_current_pts and video_current_pts_time.
Originally committed as revision 21585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 10:55:51 +00:00
Michael Niedermayer
f5668147cb Try to more completely update time variables on unpause.
Could not notice a differenc in behavior.

Originally committed as revision 21584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 10:32:17 +00:00
Michael Niedermayer
41a4cd0c33 Simplify get_video_clock()
Originally committed as revision 21582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 09:26:30 +00:00
Michael Niedermayer
5905536347 10l, forgot HAS_ARG, -drp segfaulted.
Originally committed as revision 21581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 03:12:01 +00:00
Michael Niedermayer
41db429dd5 decoder reorder pts auto detection.
Originally committed as revision 21579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 18:54:32 +00:00
Michael Niedermayer
6371c81a92 Fix indention.
Originally committed as revision 21578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 18:07:58 +00:00
Michael Niedermayer
2ef4605373 Fix seeking by bytes with the mouse and do so by default if the duration is
nonsense.

Originally committed as revision 21563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 23:19:59 +00:00
Michael Niedermayer
6299a22904 Fix AVFormat AVOprions.
Originally committed as revision 21561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 22:47:08 +00:00
Michael Niedermayer
79ee468365 Redesign packet queue full check to be more robust.
Originally committed as revision 21555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:27:17 +00:00
Michael Niedermayer
ce2421a5c3 Bump up MAX_VIDEOQ_SIZE to fix stuttering of oddly interleaved avi files.
Fixes issue1211

Originally committed as revision 21554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 20:45:21 +00:00
Stefano Sabatini
718c7b18c9 Use av_get_pix_fmt() instead of the deprecated avcodec_get_pix_fmt()
function.

Originally committed as revision 21550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:10:26 +00:00
Måns Rullgård
c67278098d Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
Måns Rullgård
40ccc754e9 Indent
Originally committed as revision 21359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 22:55:55 +00:00
Måns Rullgård
68cf92ee5e Always call avcodec_thread_init()
The various avcodec_thread_init() functions are updated to return
immediately after setting avctx->thread_count.  This allows -threads 0
to pass through to codecs.  It also simplifies the usage for apps
using libavcodec.

Originally committed as revision 21358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 22:55:50 +00:00
Stefano Sabatini
de4898a229 Set thread_count in the decoder before to open it.
This is safer since avcodec_open() may initialize some structure using
the thread_count default value which will be changed later, causing
potential security / stability issues.

Also do not explicitely set the thread_count value in the decoder,
since this is already done by avcodec_thread_init().

See the thread:
"[FFmpeg-devel] [PATCH] Make ffplay define in the encoder the number of threads *before* to open it",
started in date 2008-03-08.

Originally committed as revision 20954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 21:49:56 +00:00
Ramiro Polla
7f11e745b2 Print usage instead of help when no files are specified.
Originally committed as revision 20905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:15:46 +00:00
Ramiro Polla
0c2a18cbcd Split show_usage() out of show_help().
Originally committed as revision 20904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:12:34 +00:00
Ramiro Polla
27daa420fc First print the program description and then the basic usage line.
Originally committed as revision 20902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:09:17 +00:00
Michael Niedermayer
813338a00a Until -DHAVE_AV_CONFIG_H is removed from ffplays compilation, *printf must be #undef.
Without this random changes to the header inclusion can trigger
linking failures, and these are not even picked up in some environments
(some fate machines didnt catch it).

Originally committed as revision 20833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 18:46:29 +00:00
Michael Niedermayer
e4637d6a60 Show help if no cmd line options are provided at all.
This safes the users time to find out which of -h --help -? works.

Originally committed as revision 20822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 13:49:14 +00:00
Stefano Sabatini
992f8eaee7 Factorize common commandline options definition.
Originally committed as revision 20664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 23:12:19 +00:00
Michael Niedermayer
8447f0bd74 Split show_formats().
Originally committed as revision 20553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 16:35:55 +00:00
Diego Biurrun
ba11257e48 Add #include for required header config.h.
Originally committed as revision 20518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 23:46:11 +00:00