Age | Commit message (Collapse) | Author |
|
Currently a parsed picture was only decoded when the parser came across a
NAL unit which started a new picture (aka access unit). An end of sequence
NAL unit must be handled like the access unit delimiter NAL unit, as both
terminate the current access unit.
Handling the end of sequence NAL unit in this way fixes displaying of still
images which end in an end of seqeunce NAL unit. Otherwise they were not
decoded at all (in case of a still frame) or the second field was missing
(in case of a still image which had been coded as a pair of fields).
|
|
Video out flushes the decoder when it runs out of images for displaying,
because the decoder hasn't delivered new frames for quite a while. But
flushing the decoder causes decoding errors for images after the flush.
It is likely that the flush is still required for the issues it was
introduced (DVD still images), but they may have been resolved differently
meanwhile (e. g. by supporting sequence end code). So for now a
configureable option has been introduced which keeps the current behaviour
by default.
--HG--
extra : transplant_source : %AB%B3u%1F%E7%3D%10%0C%3D%40%B2%B0%CB%8E%84%FE%E6%87p%AA
|
|
Video out flushes the decoder when it runs out of images for displaying,
because the decoder hasn't delivered new frames for quite a while. But
flushing the decoder causes decoding errors for images after the flush.
It is likely that the flush is still required for the issues it was
introduced (DVD still images), but they may have been resolved differently
meanwhile (e. g. by supporting sequence end code). So for now a
configureable option has been introduced which keeps the current behaviour
by default.
|
|
Flushing the decoder at a pts wrap causes decoding errors for images after
the pts wrap. It is likely that the flush is still required for the issues
it was introduced (DVD still images), but they may have been resolved
differently meanwhile (e. g. by supporting sequence end code). So for now
a configureable option has been introduced which keeps the current behaviour
by default.
--HG--
extra : transplant_source : %9Cs%D1%9A%E5Sk%27%18%A6%94%5D%AB%0Dd%CA%7E%7E%BA%FD
|
|
Flushing the decoder at a pts wrap causes decoding errors for images after
the pts wrap. It is likely that the flush is still required for the issues
it was introduced (DVD still images), but they may have been resolved
differently meanwhile (e. g. by supporting sequence end code). So for now
a configureable option has been introduced which keeps the current behaviour
by default.
|
|
H.264 decoders store a couple of frames in their display picture buffer.
Calling flush before discontinuity my yield images with pts beyond pts
boundery and therefore cause clock errors.
Calling discontinuity before flush resets all pts to 0 before yielding
the images.
--HG--
extra : transplant_source : %9CNpV%B5%83%83%23%F5%C3%09%E43%E2%DFo.%7E%D9%C7
|
|
H.264 decoders store a couple of frames in their display picture buffer.
Calling flush before discontinuity my yield images with pts beyond pts
boundery and therefore cause clock errors.
Calling discontinuity before flush resets all pts to 0 before yielding
the images.
|
|
Transfer of seq_pts to img->pts takes now place at picture header of next
image in decoding order. So far, seq_pts was set to cur_pts at sequence
header and picture header. Hence, img->pts was incorrectly set to pts of
next image in decoding order.
Setting seq_pts only in picture header after call of picture_ready() keeps
the correct pts in seq_pts until it has been transfered to img->pts.
Furthermore, cur_pts of second field must be ignored as we put both fields
into the same image so the image is due at pts of first field.
|
|
|
|
|
|
|
|
|
|
--HG--
extra : rebase_source : 97225919cd1c6c2327ccbb43b17a6b049e82946c
|
|
There was added memory limits checks, which will improve stability when playing
corrupted NSF files.
|
|
|
|
|
|
|
|
Reserved space on the start of block_data for the headers during reading to
avoid temporary memory buffers and memcpy()'s.
|
|
|
|
Useful for example when composite managers occupy the HW.
|
|
|
|
xine_new()). Fixed a leak.
|
|
|
|
written only when switching binaries for different platforms.
|
|
- use type of enough size for pointer types (uintptr_t)
- fixes "Unhandled exception" in memcpy code
|
|
- use interer types of exact size for using with eax/rax registers
- fixes build of planar post plugin
|
|
- symbols in objects built by mingw64 not mangled
- fixes build of deinterlace post plugin
|
|
- mkdir/_mkdir function
- prefer prepared POSIX version in CDDA plugin
|
|
- use -no-undefined flag only for building shared libraries (libxine, plugins)
- plugins LDFLAGS unification
- move -no-undefined into LDFLAGS_NOUNDEFINED
- attributes.m4 fix
|
|
|
|
|
|
|
|
|
|
During channel changes, the audio stream ends and a new stream begins. This
in turn can lead to 'pa_stream_get_index' ending up in an assertion. Because
of that, a check if there is a stream is a good idea.
|
|
If xine volume is changed from outside the xine frontend, e.g. gnome sound
preferences. xine-lib generates a XINE_EVENT_AUDIO_LEVEL event that
fontends (like xine-ui) can use to update the volume level.
|
|
|
|
Source: informational messages generated by lintian.
|
|
|
|
|
|
|
|
--HG--
extra : rebase_source : 986f546343c08d288d44c3a9ea3a6d4309ace204
|
|
The referenced last_vcl_nal exists only when decoding starts at an IDR frame.
Starting anywhere else may lead to a NULL pointer access.
|
|
|
|
--HG--
rename : po/libxine1.pot => po/libxine2.pot
rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c
rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c
|
|
--HG--
extra : rebase_source : cfee1d5353fa3cacf4df8712fde15cd94e2ee3d4
|
|
The current implementation chooses 4:3 when aspect is within
+/- 0.0075 % of 4:3. Otherwise 16:9 is chosen. But there are
some H.264 channels with almost 4:3 aspect and choosing 16:9
for them is worse. So the new implementation chooses the best
match.
|
|
|
|
|
|
|
|
|