Commit Graph

750 Commits

Author SHA1 Message Date
Michael Niedermayer b94df21a51 Merge commit '2eaa3663fda750dac66d41fe8541a8744d5563a4'
* commit '2eaa3663fda750dac66d41fe8541a8744d5563a4':
  avplay: enable only when SDL 1.2 is found

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:31:46 +01:00
Nicolas George ceac5c54dd Remove references to the "ff" variant of buffersink. 2013-03-12 23:31:07 +01:00
Michael Niedermayer 32fdfdfbda Merge commit '354468fc12dcf93e7fb4af552e18906771913273'
* commit '354468fc12dcf93e7fb4af552e18906771913273':
  avplay: switch to new refcounted frames API
  avconv: convert to new refcounted AVFrame API

Conflicts:
	cmdutils.c
	ffmpeg.c
	ffmpeg.h
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:16:02 +01:00
Michael Niedermayer ec1d2e2fb0 ffplay: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:22:08 +01:00
Marton Balint ac37d21f49 ffplay: do not cycle through unavailable show modes
Fixes ticket #2200.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:13 +01:00
Marton Balint d0c6ed7da0 ffplay: add option to disable subtitling
Fixes ticket #2201.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:13 +01:00
Marton Balint daece4c674 ffplay: use NAN to signal invalid external clock
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 26c208cf0f ffplay: if audio or video clock is invalid return NAN
This helps us not to make bad decision (frame dropping, audio compensation)
right after seeking when we do not know yet the recent audio or video clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 38f649662c ffplay: allow frame dropping if we redisplay an already displayed frame
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 36dc476f83 ffplay: return true for pictq_prev_picture if it was successful
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 3070600d9b ffplay: only quit from audio_decode_frame before decoding when paused
This way the audio clock is updated to a proper value even when the video is
paused.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 48e43a1999 ffplay: drop remaining frames in current audio avpacket when seeking
Fixes ticket #1928.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 4be7d578a3 ffplay: signal seek event to read thread
Improves seek delay.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Stefano Sabatini 394130efe3 ffplay: reindent and remove pointless cast in audio_decode_frame() code 2013-02-24 23:29:42 +01:00
Stefano Sabatini a3fa27e366 ffplay: set type for channel_layout AudioParams field to int64_t
Reflect the type of the corresponding field in lavc/lavfi.
2013-02-24 23:26:43 +01:00
Marton Balint 77ab702a84 ffplay: only display frames if there are no pending events
Otherwise events could just pile up if displaying a frame takes more time than
the duration of the frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 13:12:10 +01:00
Marton Balint 5534d8f75e ffplay: remove remains of video_clock
We are now using a pts based approach, libavutil/libavcodec should provide the
correct pts-es anyway. This also fixes an issue when seeking to a frame with a
pts set to zero.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 00:10:46 +01:00
Marton Balint b853cfe7ea ffplay: remove refresh thread to achieve more precise frame delay
We use a refresh loop which displays the frames and also does the polling for
pending events in a non-blocking way. If we know the required delay until the
next frame, then exactly that amount of sleeping will be done. After each
handled event we check if we have to display a frame which kind of makes
displaying the frame a high priority event.

This improves greatly the smoothness of the video output especially with 50fps
content.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 00:10:46 +01:00
Michael Niedermayer 2c5e4ae291 Revert "Merge commit 'db0a943266be29ff0596872ebb418dfed75d00de'"
This reverts commit d808206553, reversing
changes made to 30085bd43e.

This is not needed

Requested-by: Marton Balint
2013-02-10 14:27:57 +01:00
Michael Niedermayer d808206553 Merge commit 'db0a943266be29ff0596872ebb418dfed75d00de'
* commit 'db0a943266be29ff0596872ebb418dfed75d00de':
  avplay: apply the stream sample_aspect_ratio to decoded video frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 12:47:37 +01:00
Stefano Sabatini 212bb6490f ffplay: report video frame changes only in debug mode
In particular, remove distracting message:
"Video frame changed from size:0x0 format:none serial:-1 to ..."
2013-02-06 00:20:37 +01:00
Stefano Sabatini 58c4b0f990 ffplay: extend feedback in case of video changes 2013-02-06 00:20:30 +01:00
Stefano Sabatini c44281906a ffplay: remove misleading comment from audio_decode_frame() 2013-02-03 17:01:56 +01:00
Stefano Sabatini 02af4e9a97 ffplay: rename audio_decode_frame() variable "pts" to "audio_clock0"
The new name better expresses what the variable is.
2013-02-03 17:01:56 +01:00
Stefano Sabatini 6e32b377bb ffplay: remove pts_ptr argument from audio_decode_frame()
The argument is no longer used outside the function. Simplify.
2013-02-03 17:01:56 +01:00
Stefano Sabatini c91f1f3f92 ffplay: drop redundant NULL sws_freeContext() check in stream_close()
sws_freeContext() already checks for NULL, simplify.
2013-02-03 11:15:27 +01:00
Michael Niedermayer 4be0b91094 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: step to next frame if paused when seeking
  ffplay: move up pause functions
  ffplay: remember last window dimensions
  ffplay: fix order of setting show_mode
  ffplay: dynamically allocate audio buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 16:14:21 +01:00
Stefano Sabatini 6032a1c977 ffplay: extend doxy for audio_decode_frame() 2013-02-02 15:32:34 +01:00
Marton Balint 4ea7fbb2ec ffplay: step to next frame if paused when seeking
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:15 +01:00
Marton Balint c5eab4bb70 ffplay: move up pause functions
No change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint 5de3f724f1 ffplay: remember last window dimensions
After this change the dimensions of single image videos will be remembered when
coming back from full screen. The issue was mentioned in ticket #2174.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint 4fd6e5af1e ffplay: fix order of setting show_mode
Without the fix the refresh event may have got called with unset show mode.

Fixes ticket #2174.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint 571ef42dd4 ffplay: dynamically allocate audio buffer
We simply remove the fixed length VideoState->audio_buf2 and use
the previously unused VideoState->audio_buf1.

Fixes ticket #2191.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint f65e57124f ffplay: flush video filters on seek
Actually we just re-create the filters, since there is no way to flush them.
Fixes hangup with yadif filter on seeking forward caused by a filtered frame
with a pts before the seek.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-01-19 00:48:06 +01:00
Marton Balint 1427c6842d ffplay: use videoq.serial to detect obsolete frames
Previously VideoPicture->skip was used for that, using videoq.serial enables us
to detect obsolete frames right after pushing flush_pkt to the packet queue, so
we don't have to wait for the decoder thread to pop the flush packet anymore.

This is good because until now a full video picture queue may have blocked the
decoder thread.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-01-19 00:48:06 +01:00
Michael Niedermayer 2d8d63a9a0 ffplay: fix sws_flags
Fixes Ticket45

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 22:48:28 +01:00
Stefano Sabatini e8bab4c6fc ffplay: extend documentation for the -vf option
In particular, make it consistent with the ffmpeg docs.
2013-01-13 16:03:13 +01:00
Clément Bœsch 491ca0e89f Replace references to "que" with the appropriate word.
"que" sounds like a slang word to me. This commit renames a few
variables, fix the comments and the logging messages (sometimes along
with small other typo fixes).
2013-01-03 00:21:47 +01:00
Marton Balint 92b50b71a1 ffplay: fix type of time_diff in waveform display
Fixes time diff overflow visible as showing the same few waveforms in a loop at
the end of file.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:01 +01:00
Marton Balint ec89ea3022 ffplay: always display audio visualization if mode is set
Fixes ticket #1903.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:01 +01:00
Marton Balint ef7f3b0870 ffplay: hide cursor on no mouse movement
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:00 +01:00
Marton Balint 0ca4e9f014 ffplay: reset external clock to unknown on start
Fixes a delay and initial frame drops on starting realtime streams with
external clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:00 +01:00
Marton Balint 4e33d8ebb3 ffplay: only drop frames if not in frame step mode
Fixes ticket #2053.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:00:07 +01:00
Marton Balint 97660b8b13 ffplay: move frame step pause from the video thread to video_refresh
This way we pause the video right after we displayed a new frame. Partially
fixes ticket #2053.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 19:59:46 +01:00
Marton Balint cf0c63d99a ffplay: fix greenish line on the right edge with some xv sizes
If the XV image linesize was different from the width, SDL would create an
overlay wider than the actually requested one. This causes a greenish line on
the right, because the rightmost texel is blended with unset data.  This patch
introduces a function which duplicates the rightmost texel to the unset space,
that way the blending will be done with duplicated border texels.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-25 13:54:07 +01:00
Michael Niedermayer 3f72dbe462 ffplay: fix another use of context instead of frame parameters
Fixes Ticket2050

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 03:41:55 +01:00
Michael Niedermayer 230bef0a89 ffplay: fix handling of resolution changes with h264-mt
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 00:50:47 +01:00
Stefano Sabatini 013b700771 ffplay: provide some feedback in case the codec cannot be set 2012-12-16 10:58:02 +01:00
Stefano Sabatini 1cbb11cda7 ffplay: set codec_id in codec context
Set codec id in case another codec is forced on the context (e.g. when
the user specify the codec with -codec).

For example fix:
ffplay -vcodec pgmyuv -i "tests/vsynth1/%02d.pgm"
2012-12-16 10:58:02 +01:00
Stefano Sabatini cb0f97b59d ffplay: improve robustness of opt_codec(), and add options acodec,vcodec,scodec
Fail with a meaningfull error message in case of bogus input.

Also the new options are more consistent with the rest of the tool
options, since it does not support generic stream specifiers.
2012-12-16 10:57:50 +01:00