You must take into account that ... if the image is smaller than your screen and you use the property background-size: cover;
What you do with it is to force the image to cover all the content or size where you are putting your image.
If you want that photo yes or yes, you have two options:
1) Create that same image in larger size that is equal to or greater than the size where it will be displayed, so it will stop pixelating
2) Reduce the size where you show the image and this is eliminating the property that you used background-size: cover;
and you give a height
and '' width 'to your image but of course, it will be as big as the image itself same be. We must never forget that the code modifies what you already have. If your image is small..grading it will always pixelate. Regards! =)