SignalMonitor: Timeout if we don't get a lock in a reasonable amount of time.
Updated Spanish/Spain MythFrontend, MythArchive and MythMusic translation
from Antonio Marcos Lopez Alonso

Thank you Antonio!

Closes #11401

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Improved cropping of the bottom 8 lines of 1088-line video.

Refs #11358.  Reverts 9d9de7b75d5354c9130526311a0c74d7172ebe6d and
cleans up the bottom 8 lines by applying a crop filter to the source.
This is tested for the XVideo output method.

The VDPAU output method does not use the standard filter mechanism,
but it works fine on 1088-line video until the h.264 parser thinks the
resolution has changed from 1080 to 1088 lines.  To compensate, we
don't acknowledge a resolution change when this happens.
fix issue #10222: mythcommflag segfaulting

The problem in issue #10222 is that it is adding the CODEC_FLAG2_FAST flag.  This causes unsafe functions to be used, causing a segfault. The proper way to fix this would probably be to figure out how to test for the "experimental speedups" flag, however I don't know the codebase well enough for this.

I tested how this would affect the speed of mythcommflag on one of my recordings.  The results:

Before removing flag:
real 2m13.123s
user 2m16.713s
sys 0m3.502s

After removing flag:
real 2m13.021s
user 2m15.446s
sys 0m3.758s
DTVRecorder: buffer up each payload until we know if the payload is a
keyframe.

Especially with H.264, we can be several packets into a payload before we
know if it is a keyframe or just a frame or something else.  Always buffer
the packets of a payload until we know what we are doing with the payload.

If we need to switch ringbuffers, we now do it so the new file will start at
the beginning of the payload holding a keyframe.  Each file will also start
with a PAT/PMT if the "recorder" calls for it.
Cleanup some useless "discontinuity detected" messages following 87a15e1ce

Closes #11328
Simplify some file list usage using filters new to QT4

QT4 introduced a 'QDir::NoDotAndDotDot' filter for use with QDir::setFilter(),
QDir::entryList() and QDir::entryInfoList(). This allows us to
simplify a few places in the code by removing our own . and .. checks.

Thanks to Rolf Eike Beer <eike@sf-mail.de> for spotting the problem
and providing an example patch. Since there were many more examples in
the code than the one he highlighted I decided to fix them all in one
commit instead of applying his patch.
lavc/movtextdec: keep the min size instead of max to fix overread.

Fixes Ticket #2087.
(cherry picked from commit 7d66bc7920240cc0e8df6c44b2d2cdbe4b228fbe)

Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
mov: fix parsing of the chap atom.

This was broken in 0d96ec19ebc1577b27a889136364a906e1c627b1 under the
assumption that there is only one tref leaf atom.

Fixes Ticket #2081.
(cherry picked from commit 765158dd82a2e985f4eb0b201a8256964403f623)

Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
lavc/ass_split: check for NULL pointer in ff_ass_split_override_codes().

This is consistent with the other ff_ass_split_* functions.

It also fixes a crash when trying to split a dialog with text=NULL
(which seems to happen when the text of the dialog is empty); basically,
this commit fixes crashes when trying to encode an empty text subtitle
dialog (see subrip and mov_text encoders).

Fixes Ticket2048.
(cherry picked from commit c83002a4f8042ccfa0688a9a18e8fa0369c1fda8)

Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
lavf: move force_codec_ids() up

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3a6b6f425ee3f552eaaf6bde7480be5cb38aba1d)
Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
lavf: Fix codec id forcing with probed codecs

Fixes Ticket2088

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 341e40f1e1eeba1a2952c26363630596193e887b)
Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
tiffdec: Use the correct height field.

Fixes Ticket913

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4784a135b2b0fe4d1b4c6256bd37265fc45aed3d)
Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
ffmpeg: mark attachment streams finished.

Fix trac ticket #2083.
(cherry picked from commit 69a1667b064b11a2df4b4bdc136955f76d17f558)

Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
ff_get_audio_frame_size: try to fix wma in wav

Fixes Ticket1905, Ticket2114

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2713e43ac85245805db95048493dde121a20aee7)
Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
Fix detection of struct v4l2_frmsize_discrete.

It was always detected successfully.
(cherry picked from commit c345100efc9baae0ea7c9fcc376725cae5d3df6e)

Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
Only skip MLP header in mpeg files if the codec actually is MLP.

Fixes PCM audio in Kansas Pheasant Hunt 2000 mpg file.
Reported-by: Mashiat Sarker Shakkhar
(cherry picked from commit ad406f7e402977cb7dbc78ccb63e21c137f6699e)

Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
swr: fix handling of timestamps that cause multiple drops or silence injections

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d676598f879ba01ddb62f9abe8e17b2e94cb91cd)
Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
h264: don't clobber mmco opcode tables for non-first slice headers.

Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.

Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.

This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f6badba1859fb266a9c0bdaf006a04c73873cd90)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>
h264: add 3 pixels below for subpixel filter wait position.

If the motion vector is at a subpixel position, we need 3 pixels below
the motion vector's wholepel position available, not 2, since the MC
filter is a sixtap filter for the hpel position, and then a bilin filter
for the qpel position.

This patch fixes highly irreproducible (0.1%) fate failures in frame 2
and 4 of h264-conformance-cama2_vtc_b (e.g. first P-frame, first field,
last line of MB x=40,y=2 and second field and last lines of MBs x=39-40,
y=3). These used pre-loopfilter instead of post-loopfilter data because
the await_progress() waited for one line too little in that field, and
the motion vector of these particular MBs happened to align exactly to a
position where that demonstrates the bug.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2c85d7c015489e169759e52c21499579dae5c2b1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Jean-Yves Avenard <jyavenard@mythtv.org>