omxil: rpi: Fetch pixel aspect ratio from decoder.
The broadcom omx implementation has a vendor extension to fetch pixel aspect
information from the decoder. Use this to pass proper aspect information with
the pictures.
Signed-off-by: Julian Scheel <julian@jusst.de> Signed-off-by: Martin Storsjö <martin@martin.st>
avcodec: align dimensions only for software decoding
There is no use to CPU memory edges when decoding in hardware (arguably
libavcodec should be "enhanced" to not add them in that case).
This unbreaks VDPAU.
Some browsers, such as Firefox, are very picky about WebM streams needing to
start with a keyframe. To be able to handle this correctly when streaming,
the avformat mux needs to mark keyframe-containing blocks (or clusters, in
Matroska terminology) as such even after they have been muxed. The next patch
in the series will make httpd actually care about this flag.
Unfortunately, as avformat does not actually propagate this status, we need
to use some heuristics to figure out which blocks contain keyframes. The natural
thing to do would be to say that when we write a keyframe, the block that comes
back has to be a keyframe block, but the WebM/Matroska muxer thwarts this by
having its own internal buffering of clusters, flushing the _previous_ cluster
when we send it a keyframe. Thus, we need to explicitly send a flush (a NULL
packet) before the one that comes back when we mux a keyframe.
The previous value, 32 kB, causes formats like WebM to overflow
and split the blocks, which has negative consequences for streaming.
We're unlikely to have a memory crunch in this area, so increase it
to something generous.
David R Robison [Tue, 3 Sep 2013 18:16:52 +0000 (20:16 +0200)]
Win32: allow affinity changes in OpenGL output for nVidia GPU
This should allow to balance the GPU load across multiple nVidia graphics cards.
This patch introduces a new command line argument that allows the user
to set the nVidia card affinity.
This fills in the initial vlc_meta_t object with more of the fields
it knows about, ensuring fields that we can edit with taglib don't
show up in the 'Extra metadata' panel.
vorbis_ParseComment() supports several different methods of
specifying the total number of tracks. Update the taglib module
to support reading in the same set.
This propagates more of the data between a vlc_meta_t object and
the taglib object used to write out new metadata. This should
support everything except Setting, URL, NowPlaying, ArtworkURL, and
TrackID.
sys->first_pts is the time the stream started originally, but was
mistaken as the time of the stream was paused.
Now, it is assumed that pausing and resuming take approximately the
same time. This is usually true, and if it is not, there is no way for
either VLC or PulseAudio to know (since ALSA does not expose
pause/resume latency informations for the underlying devices).
In practice, this makes no real difference other than removing a bogus
warning about being late when resuming from pause.
This requires a taglib version with Opus support, but such a
version has not yet been released, even though support has been in
git almost a year. This version is scheduled as version 1.9
Rafaël Carré [Sat, 31 Aug 2013 12:49:44 +0000 (14:49 +0200)]
Input clock reference: bump maximum gap to 60s
Some APE files can have a single packet duration of up to 30s
Is there even a hard limit in this format, or can packets be longer?
Previous gap limit was an arbitrary 22s, written in a way reminiscent of
the MPEG 90kHz clock, which does not make sense anymore since reference clock
in all our demuxers use our own 1MHz clock.
Martin Storsjö [Thu, 29 Aug 2013 22:26:10 +0000 (00:26 +0200)]
omxil: Use pts instead of dts by default
I don't know of any codec that actually works better when passed dts
instead of pts. If such codecs exist I do think they're a minority
compared to the ones that can handle both or that do prefer pts.
Additionally, the Android media frameworks pass pts to decoders in
general, not dts. (Vendors might of course have individual hacks,
but this is what the generic code does.)
Too many functions are not related to freetype and could be used by
other renderers like QuartText or DirectWrite.
Moreover, this file was way too long.
This is just the beginning, and there are no functionnal change so far.
input: remove dead and broken byte offset bookmark support (refs #8455)
Nobody would use this in real life (even time offset bookmarks are
hardly used at all), the "feature" was unreachable from the UI, and
it does not work with most demuxers.
seekpoint_t.i_byte_offset is kept due to other usage of the same
structure, i.e. proper seek points (as opposed to bookmarks).
This is useless given that the time offset is set and the input core
ignores the byte offset when the time offset is set. I think the column
should probably be removed completely.