Ticket #2496 (closed bug: obsolete)
video-performance-natives
Reported by: | boyanl | Owned by: | boyanl |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | MEDIA_CONTENT | Version: | 2.0 |
Keywords: | video, | Cc: | |
Category: | unknown | Effort: | |
Importance: | Ticket_group: | ||
Estimated Number of Hours: | 0 | Add Hours to Ticket: | 0 |
Billable?: | yes | Total Hours: | 0 |
Analysis_owners: | boyanl | Design_owners: | boyanl |
Imp._owners: | boyanl | Test_owners: | |
Analysis_reviewers: | pap | Changelog: | Changelog |
Design_reviewers: | pap | Imp._reviewers: | deyan, todor, pap |
Test_reviewers: | Analysis_score: | 3 | |
Design_score: | 3.5 | Imp._score: | 3.5 |
Test_score: | 0 |
Description
The video in Sophie2 is still slow, so maybe investigation of the underlying decoders is needed.
Attachments
Change History
comment:4 Changed 15 years ago by boyanl
- Design_owners set to boyanl
- Status changed from s1b_analysis_finished to s2a_design_started
- Imp._owners set to boyanl
comment:5 Changed 15 years ago by boyanl
Changes to Sophie2-Platform
- Changes to BinReader
- Optimize readByte and readArray - instead of delegating to the underlying BinData (which we know is a RawBinData), we fetch all the bytes at construction and then just index the array. Similarly, in readArray, we use System.arraycopy (which can potentially be faster).
- Changes to BinWriter
- Add addBytes method, which adds an array of bytes to the data.
- Add a class FastByteArrayOutputStream, which is a ByteArrayOutputStream implementation, which doesn't synchronize methods and doesn't copy the data when it's requested.
- Changes to RawBinData
- Use FastByteArrayOutputStream instead of ByteArrayOutputStream when constructing it with a given size.
- Change getBytes to not copy the data before returning it. It should be copied manually when we want to modify the returned data without modifying the RawBinData.
- Changed to size of buffers in BinData so that commands with video data are transported in 1 read (3 before)
- Fixed an error in SpellCheckDemoTest
Changes to Sophie2-Native
- Changes to the media decoder
- Move the initalization of the structure used for conversion from decodeFrame to initVideo
- Optimize the copy in saveFrame (this relies on the vector being continuous in memory, but this is standard)
- Re-built the media decoder with FFMpeg 0.6
- Changes to java messages
- readBinData accepts the resulting vector as a third argument instead of returning it (to avoid copying)
- Optimize the copy in readBinData and writeBinData
- Removed inconsistencies with mixed fread/cin.read or fwrite/cin.write (all are fread/fwrite)
- Changes to audio output
- Attempt to optimize the copying by unrolling two loops
- Both media decoder and audio output are built using -O3 now (instead of -Os)
comment:6 Changed 15 years ago by boyanl
Note: ffmpeg-0.6.tar.bz2 should be placed under sophie2-native/lib-src
comment:7 Changed 15 years ago by boyanl
- Status changed from s2a_design_started to s2b_design_finished
comment:8 Changed 15 years ago by pap
- Status changed from s2b_design_finished to s2c_design_ok
- Design_score changed from 0 to 3.5
- Design_reviewers set to pap
- Analysis_reviewers set to pap
- Analysis_score changed from 0 to 3
- Seem ok.
- I dislike the proposed representation exposure in RawBinData. So I suggest not using it unless it is really really necessary.
comment:9 Changed 15 years ago by boyanl
- Owner set to boyanl
- Status changed from s2c_design_ok to s3a_implementation_started
comment:10 Changed 15 years ago by boyanl
- Status changed from s3a_implementation_started to s3b_implementation_finished
comment:11 Changed 15 years ago by boyanl
- Attempting to fix video synchronization issue (NativeMediaHandler gets the framerate of the video and if we attempt to get frames within less than 1000/framerate millis, the same frame is returned)
comment:12 Changed 15 years ago by pap
- Status changed from s3b_implementation_finished to s3c_implementation_ok
- Imp._score changed from 0 to 3.5
- Imp._reviewers set to deyan, todor, pap
comment:13 Changed 13 years ago by meddle
- Status changed from s3c_implementation_ok to closed
- Resolution set to obsolete
Closing all the tickets before M Y1
Note: See
TracTickets for help on using
tickets.