Age | Commit message (Collapse) | Author |
|
This is probably still wrong, but at least works properly with BBC subtitling.
|
|
|
|
Decoding fixed (nybble extraction was broken, and some filling was wrong).
Default colour tables added.
The following is untested:
* Support for 2-bit and 8-bit images.
* Support for expansion from 2→4, 2→8 and 4→8 bits.
* Support for expansion tables.
* Handling of stuffing chunks (not expected to be seen).
* Copying of the top field into the bottom field.
|
|
|
|
|
|
This bug appears to be a variety of aliasing bug, caused by the compiler not
knowing that buffer is written to by ...->read(). On i386, the bug shows up
because buffer[0] has to be re-read when extracting the sample rate etc.; on
amd64, it works fine because the value was cached in a register.
The problem is avoided by not read()ing into any storage more than once
while it remains in scope.
|
|
|
|
--HG--
branch : v4l
|
|
--HG--
branch : v4l
|
|
|
|
|
|
This reduces requirements of plugins etc., hopefully where possible and without
breakage. (Works on Linux.)
|
|
|
|
|
|
|
|
|
|
|
|
There's a rendering bug when using the opengl fragment program if the width
of the video is not a multiple of 16.
U and V channels will have padding on each row because they always have
pitches which are a multiple of 8, glTexSubImage2D will copy the padding
data to the texture and the U & V channels will be skewed. The same also
applies to the Y channel when width is not a multiple of 8. Fixed by
passing pitch to glTexSubImage2D instead of width.
The U & V channels also have to be outlined in grey on the texture and if
there's padding then we need to add the line on the right to every frame
before calling glTexSubImage.
It also looks like the location of the V channel in the texture was off by
one pixel in the call to glProgramEnvParameter4fARB.
--HG--
extra : rebase_source : 1984e493f77e80081e55b7c3b816d3baea965e4e
|
|
Plasma TV users have the problem that black border pixels age differently
compared to active image pixel in the center of the screen. Changing the
background color for example to gray makes the border pixels age almost
equally like the image pixels. As a result image brightness will change
more equally over TV's lifetime.
|
|
Without resetting the buffered PTS it happens that the same PTS gets
attached to multiple images which is wrong.
|
|
The content of large PES packets must be split into several input buffers.
The current code attaches the PTS of the PES packet to all input buffers.
A decoder must attach PTS to the image for example which starts next in
the data. If the same PTS appears on several input buffers, a decoder
might buffer the PTS and attach it to the next image for which the
broadcaster didn't supply a PTS. Finally xine's metronom gets confused
about those incorrect PTS and tries to correct that issue which usually
makes things even more worse. By passing on PTS just once to the decoder
it is less likely that the decoder behaves incorrect.
I must admit that this is the second approach to fix this issue. The
first approach slipped through into a totally different changeset and
instead of passing the PTS just on the first buf, it passed it on the
last buf of a PES packet which was totally wrong. This incorrect approach
has been reverted recently.
|
|
|
|
|
|
|
|
|
|
|
|
--HG--
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
|
|
|
|
We pretend that it's 16-bit to avoid "audio device unavailable" (ALSA).
Also, the clock is a bit fast.
|
|
|
|
|
|
Do not discard the parser, but reset fields that won't be valid after a decoder reset (ie seek) anymore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ gapless).
|
|
still frames are marked by the decoder and the video_out will not deinterlace if the flag is set.
|
|
|
|
|
|
|
|
send the pts to the decoders, even if the pes packet is just a continuation packet
|
|
following of an end of sequence mark, so that it is safe to remove backward references after decoding it.
this will make the drawing logic work and draw the picture actually
this fixed dvd menus with still images in background which were not always drawn
|
|
|
|
BUF_FLAG_FRAME_END.
Fixes BluRay PCM audio when PES payload size is less than 2048 bytes.
|
|
|
|
coded_picture replaces the abused nal_units, while nal_units are just what their name says. sps and pps are handled in buffers as the spec proposes. pic_num calculation and ref-frame marking reworked to be spec compliant
|
|
|