This experiment somewhat yielded the results I wanted as I could start seeing artifacts in the top portions of the video but they were restricted just to the upper-right corner. ![]() However, I decided to insert my mean_mv() function at this point so that is always executed when there is a zero error-count. That first if-statement exits the function ff_er_frame_end() if one of the conditions is a zero error-count (s->error_count = 0). Based on the guess_mv() function, I created a new function, mean_mv() that is executed in ff_er_frame_end() within the first if-statement. I believe that the key to doing so lies in manipulating the array, mv_cache.Īnother experiment that I performed was in the file, libavcodec/error_resilience.c. However, in this regard, I don't know how to access the neighbors of mx and my for my spatial mean analysis that I mentioned in the first paragraph. In the function, ff_h264_decode_mb_cavlc(), modifying the mx and my variables, for instance, by increasing their values modifies the MVs used during decoding.įor example, as shown below, the mx and my values are increased by 50, thus lengthening the MVs used in the decoder. ![]() So far, I have been able to do a simple modification of MVs in the file /libavcodec/h264_cavlc.c. An example of a modification is replacing each MV with its original spatial neighbors and then using the resultant MVs for motion compensation, rather than the original ones. For research purposes, I am trying to modify H.264 motion vectors (MVs) for each P- and B-frame prior to motion compensation during the decoding process.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |