Comments (3)
Serhan,
The code in h264_slice_data.c needs work before it would be usable.
The following missing functions need to be implemented:
- bs_read_ce - for CAVLC
- NextMbAddress
- MbPartPredMode
- NumMbPart
- NumSubMbPart
- SubMbPredMode
- TotalCoeff
- TrailingOnes
They are just stubs right now. Most are relatively easy.
There would also need to be a data structure to store macroblocks - the macroblock_t struct describes what is in one macroblock, but there would have to be an array of them for a whole slice (with some way to index it - scan order, and convert scan order to row/column, plus utility functions to find neighbors of a given mb).
That's all I can think of at the moment. The code that is there now does cover a whole lot of what the standard does, it just needs the stubs to be filled in, and a bunch of testing.
from h264bitstream.
Alex,
Thanks for the list of functions and detailed explanation. I will definitely try to implement them sometime. Although (open-source) parsers do exist for HEVC, I couldn't find any parser other than yours for H.264. It is definitely interesting.
from h264bitstream.
Has anyone done any work on this? I'm trying to write some code that will parse (but not decode) an h264 stream, so that I can extract the motion vectors quickly for analysis.
from h264bitstream.
Related Issues (20)
- [Error] - SPS that contains scaling lists HOT 4
- Exponential golomb encoding fixes HOT 3
- h265bitstream support HOT 6
- libh264bitstream.so.0 file not found HOT 1
- "error while loading shared libraries" when running h264_analyze HOT 1
- No avcc-support
- debug_nal not existent? HOT 1
- Compile command for h264bitstream
- How to recombine base and enhancement layer, splitted using svc_split?
- platform support HOT 1
- Fuzzing with the sample streams leads to lots of crashes HOT 8
- Extract motion vectors HOT 3
- autoreconf: 'configure.ac' or 'configure.in' is require
- Write a h264 stream copy-paste using this library
- SPS scaling list writer assumes 8 and only 8 indices
- segmentation fault in read_slice_layer_rbsp HOT 1
- Missing braces in for loop HOT 1
- Homp
- How do I install & use h264bitstream? HOT 1
- Bug: bs_read_ue compiler-dependent behavior when i==32 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from h264bitstream.